linux-stable/fs/f2fs
Chao Yu 62f63eea29 f2fs: fix NULL pointer dereference in f2fs_write_begin()
BUG: kernel NULL pointer dereference, address: 0000000000000000
RIP: 0010:f2fs_write_begin+0x823/0xb90 [f2fs]
Call Trace:
 f2fs_quota_write+0x139/0x1d0 [f2fs]
 write_blk+0x36/0x80 [quota_tree]
 get_free_dqblk+0x42/0xa0 [quota_tree]
 do_insert_tree+0x235/0x4a0 [quota_tree]
 do_insert_tree+0x26e/0x4a0 [quota_tree]
 do_insert_tree+0x26e/0x4a0 [quota_tree]
 do_insert_tree+0x26e/0x4a0 [quota_tree]
 qtree_write_dquot+0x70/0x190 [quota_tree]
 v2_write_dquot+0x43/0x90 [quota_v2]
 dquot_acquire+0x77/0x100
 f2fs_dquot_acquire+0x2f/0x60 [f2fs]
 dqget+0x310/0x450
 dquot_transfer+0x7e/0x120
 f2fs_setattr+0x11a/0x4a0 [f2fs]
 notify_change+0x349/0x480
 chown_common+0x168/0x1c0
 do_fchownat+0xbc/0xf0
 __x64_sys_fchownat+0x20/0x30
 do_syscall_64+0x5f/0x220
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

Passing fsdata parameter to .write_{begin,end} in f2fs_quota_write(),
so that if quota file is compressed one, we can avoid above NULL
pointer dereference when updating quota content.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2020-03-30 20:46:24 -07:00
..
acl.c f2fs: Replace spaces with tab 2019-05-08 21:23:11 -07:00
acl.h f2fs: add SPDX license identifiers 2018-09-12 13:07:10 -07:00
checkpoint.c f2fs: Add a new CP flag to help fsck fix resize SPO issues 2020-03-22 21:16:28 -07:00
compress.c f2fs: fix potential deadlock on compressed quota file 2020-03-30 20:46:23 -07:00
data.c f2fs: fix to avoid potential deadlock 2020-03-30 20:46:23 -07:00
debug.c f2fs: show mounted time 2020-03-19 11:41:25 -07:00
dir.c f2fs: clean up f2fs_may_encrypt() 2020-03-30 20:46:24 -07:00
extent_cache.c f2fs: introduce f2fs_<level> macros to wrap f2fs_printk() 2019-07-02 15:40:40 -07:00
f2fs.h f2fs: clean up f2fs_may_encrypt() 2020-03-30 20:46:24 -07:00
file.c f2fs: fix to show tracepoint correctly 2020-03-19 11:41:26 -07:00
gc.c f2fs: fix to update f2fs_super_block fields under sb_lock 2020-03-22 21:16:29 -07:00
gc.h f2fs: add SPDX license identifiers 2018-09-12 13:07:10 -07:00
hash.c f2fs: Support case-insensitive file name lookups 2019-08-23 07:57:13 -07:00
inline.c f2fs: convert inline_dir early before starting rename 2020-01-17 16:48:42 -08:00
inode.c f2fs: introduce DEFAULT_IO_TIMEOUT 2020-03-19 11:41:26 -07:00
Kconfig f2fs-for-5.6 2020-01-30 15:39:24 -08:00
Makefile f2fs: support data compression 2020-01-17 16:48:07 -08:00
namei.c f2fs: clean up f2fs_may_encrypt() 2020-03-30 20:46:24 -07:00
node.c f2fs: add prefix for f2fs slab cache name 2020-03-19 11:41:26 -07:00
node.h f2fs: check PageWriteback flag for ordered case 2018-12-26 15:16:56 -08:00
recovery.c f2fs: introduce DEFAULT_IO_TIMEOUT 2020-03-19 11:41:26 -07:00
segment.c f2fs: add prefix for f2fs slab cache name 2020-03-19 11:41:26 -07:00
segment.h f2fs: show mounted time 2020-03-19 11:41:25 -07:00
shrinker.c f2fs: fix inconsistent comments 2020-03-10 09:18:33 -07:00
super.c f2fs: fix NULL pointer dereference in f2fs_write_begin() 2020-03-30 20:46:24 -07:00
sysfs.c f2fs: show mounted time 2020-03-19 11:41:25 -07:00
trace.c f2fs: do not use mutex lock in atomic context 2019-03-05 19:58:06 -08:00
trace.h f2fs: add SPDX license identifiers 2018-09-12 13:07:10 -07:00
verity.c fs-verity: implement readahead of Merkle tree pages 2020-01-14 13:27:32 -08:00
xattr.c f2fs: use kmem_cache pool during inline xattr lookups 2020-03-22 21:16:27 -07:00
xattr.h f2fs: xattr.h: Replace zero-length array with flexible-array member 2020-03-22 21:16:29 -07:00