ext4/overlayfs: fiemap related fixes
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest5 patches 21 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | ext4: Fix EXT4_MAX_LOGICAL_BLOCK macrofs/ | +1 | 1 reply | |
| 2/5 | ext4: Rename fiemap_check_ranges() to make it ext4 specificfs/ | +2 | 1 reply | |
| 3/5 | vfs: EXPORT_SYMBOL for fiemap_check_ranges()fs/ include/ | +5 | 1 reply | |
| 4/5 | overlayfs: Check for range bounds before calling i_op->fiemap()fs/ | +6 | 2 replies | |
| 5/5 | ext4: Get rid of ext4_fiemap_check_rangesfs/ | +1 | 1 reply |
Reviews trailers per patch
All 5 patches have a Reviewed-by or Acked-by.
| Patch | Jan Kara | Amir Goldstein |
|---|---|---|
| 1/5 | R-b | |
| 2/5 | R-b | |
| 3/5 | R-b | |
| 4/5 | R-b | R-b |
| 5/5 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 0/5] ext4/overlayfs: fiemap related fixes
Hello All,
Here are some changes, which as I understand, takes the right approach in fixing the offset/length bounds check problem reported in threads [1]-[2]. These warnings in iomap_apply/ext4 path are reported after ext4_fiemap() was moved to use iomap framework and when overlayfs is mounted on top of ext4. Though the issues were identified after ext4 moved to iomap framework, but these changes tries to fix the problem which are anyways present in current code irrespective of ext4 using iomap framework for fiemap or not.
Patch 1 & 4 commit msg may give more details of the problem.
Tests done
==========
1. Tested xfstest-suite with "-g quick" & "-overlay -g quick" configuration on a 4k blocksize on x86 & Power. There were no new failures reported due to these changes.
2. Tested syzcaller reported problem with this change. [1]
3. Tested below change which was reported by Murphy. [2]
The minimal reproducer is:
-------------------------------------
fallocate -l 256M test.img
mkfs.ext4 -Fq -b 4096 -I 256 test.img
mkdir -p test
mount -o loop test.img test || exit
pushd test
rm -rf l u w m
mkdir -p l u w m
mount -t overlay -o lowerdir=l,upperdir=u,workdir=w overlay m || exit xfs_io -f -c "pwrite 0 4096" -c "fiemap" m/tf
umount m
rm -rf l u w m
popd
umount -d test
rm -rf test test.img
-------------------------------------
Comments/feedback are much welcome!!
References
==========
[1]: https://lkml.org/lkml/2020/4/11/46
[2]: https://patchwork.ozlabs.org/project/linux-ext4/patch/[email protected]/
Ritesh Harjani (5):
ext4: Fix EXT4_MAX_LOGICAL_BLOCK macro
ext4: Rename fiemap_check_ranges() to make it ext4 specific
vfs: EXPORT_SYMBOL for fiemap_check_ranges()
overlayfs: Check for range bounds before calling i_op->fiemap()
ext4: Get rid of ext4_fiemap_check_ranges
fs/ext4/ext4.h | 2 +- fs/ext4/ioctl.c | 23 ----------------------- fs/ioctl.c | 5 +++-- fs/overlayfs/inode.c | 7 ++++++- include/linux/fs.h | 2 ++ 5 files changed, 12 insertions(+), 27 deletions(-)
Signature · 1 line
2.21.0