aboutsummaryrefslogtreecommitdiff
path: root/fs/f2fs/super.c
diff options
context:
space:
mode:
authorGravatar Chao Yu <yuchao0@huawei.com> 2020-11-10 09:24:37 +0800
committerGravatar Jaegeuk Kim <jaegeuk@kernel.org> 2020-12-02 22:00:20 -0800
commit34178b1bc4b5c936eab3adb4835578093095a571 (patch)
treefd0c92cffb66a580c21ef82119334ba0b3b94546 /fs/f2fs/super.c
parentf2fs: avoid unneeded data copy in f2fs_ioc_move_range() (diff)
downloadlinux-34178b1bc4b5c936eab3adb4835578093095a571.tar.gz
linux-34178b1bc4b5c936eab3adb4835578093095a571.tar.bz2
linux-34178b1bc4b5c936eab3adb4835578093095a571.zip
f2fs: fix compat F2FS_IOC_{MOVE,GARBAGE_COLLECT}_RANGE
Eric reported a ioctl bug in below link: https://lore.kernel.org/linux-f2fs-devel/20201103032234.GB2875@sol.localdomain/ That said, on some 32-bit architectures, u64 has only 32-bit alignment, notably i386 and x86_32, so that size of struct f2fs_gc_range compiled in x86_32 is 20 bytes, however the size in x86_64 is 24 bytes, binary compiled in x86_32 can not call F2FS_IOC_GARBAGE_COLLECT_RANGE successfully due to mismatched value of ioctl command in between binary and f2fs module, similarly, F2FS_IOC_MOVE_RANGE will fail too. In this patch we introduce two ioctls for compatibility of above special 32-bit binary: - F2FS_IOC32_GARBAGE_COLLECT_RANGE - F2FS_IOC32_MOVE_RANGE Reported-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Chao Yu <yuchao0@huawei.com> Reviewed-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/super.c')
0 files changed, 0 insertions, 0 deletions