2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-29 15:43:59 +08:00
linux-next/fs/f2fs
Chao Yu 34178b1bc4 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>
2020-12-02 22:00:20 -08:00
..
acl.c f2fs: clean up kvfree 2020-09-14 11:15:37 -07:00
acl.h f2fs: Use the correct style for SPDX License Identifier 2020-05-08 06:55:55 -07:00
checkpoint.c f2fs: handle errors of f2fs_get_meta_page_nofail 2020-10-13 23:23:29 -07:00
compress.c f2fs: fix slab leak of rpages pointer 2020-09-29 09:16:36 -07:00
data.c f2fs: introduce check_swap_activate_fast() 2020-10-13 23:23:34 -07:00
debug.c f2fs: clean up kvfree 2020-09-14 11:15:37 -07:00
dir.c f2fs-for-5.10-rc1 2020-10-16 15:14:43 -07:00
extent_cache.c f2fs: support 64-bits key in f2fs rb-tree node entry 2020-09-10 14:03:30 -07:00
f2fs.h f2fs: move ioctl interface definitions to separated file 2020-11-02 08:33:02 -08:00
file.c f2fs: fix compat F2FS_IOC_{MOVE,GARBAGE_COLLECT}_RANGE 2020-12-02 22:00:20 -08:00
gc.c f2fs: clean up kvfree 2020-09-14 11:15:37 -07:00
gc.h f2fs: support age threshold based garbage collection 2020-09-11 11:11:15 -07:00
hash.c f2fs-for-5.8-rc1 2020-06-09 11:28:59 -07:00
inline.c f2fs: clean up kvfree 2020-09-14 11:15:37 -07:00
inode.c f2fs: fix to set SBI_NEED_FSCK flag for inconsistent inode 2020-10-09 10:29:31 -07:00
Kconfig f2fs: compress: support lzo-rle compress algorithm 2020-05-11 20:36:46 -07:00
Makefile f2fs: support data compression 2020-01-17 16:48:07 -08:00
namei.c f2fs-for-5.10-rc1 2020-10-16 15:14:43 -07:00
node.c f2fs: call f2fs_get_meta_page_retry for nat page 2020-11-02 08:33:01 -08:00
node.h f2fs: shrink spinlock coverage 2020-05-11 20:36:46 -07:00
recovery.c f2fs: fix error path in do_recover_data() 2020-07-08 10:11:19 -07:00
segment.c f2fs: don't issue flush in f2fs_flush_device_cache() for nobarrier case 2020-10-13 23:23:34 -07:00
segment.h f2fs: fix wrong total_sections check and fsmeta check 2020-09-29 01:48:34 -07:00
shrinker.c f2fs: fix inconsistent comments 2020-03-10 09:18:33 -07:00
super.c Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-10-24 12:26:05 -07:00
sysfs.c f2fs: wait for sysfs kobject removal before freeing f2fs_sb_info 2020-10-14 13:23:30 -07:00
trace.c f2fs: do not use mutex lock in atomic context 2019-03-05 19:58:06 -08:00
trace.h f2fs: Use the correct style for SPDX License Identifier 2020-05-08 06:55:55 -07:00
verity.c mm/readahead: make page_cache_ra_unbounded take a readahead_control 2020-10-16 11:11:16 -07:00
xattr.c f2fs: clean up kvfree 2020-09-14 11:15:37 -07:00
xattr.h f2fs: code cleanup by removing ifdef macro surrounding 2020-05-26 18:56:10 -07:00