mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 20:54:10 +08:00
ecfbd57cf9
When PAGE_SIZE is 64K, if read_log_page is called by log_read_rst for the first time, the size of *buffer would be equal to DefaultLogPageSize(4K).But for *buffer operations like memcpy, if the memory area size(n) which being assigned to buffer is larger than 4K (log->page_size(64K) or bytes(64K-page_off)), it will cause an out of boundary error. Call trace: [...] kasan_report+0x44/0x130 check_memory_region+0xf8/0x1a0 memcpy+0xc8/0x100 ntfs_read_run_nb+0x20c/0x460 read_log_page+0xd0/0x1f4 log_read_rst+0x110/0x75c log_replay+0x1e8/0x4aa0 ntfs_loadlog_and_replay+0x290/0x2d0 ntfs_fill_super+0x508/0xec0 get_tree_bdev+0x1fc/0x34c [...] Fix this by setting variable r_page to NULL in log_read_rst. Signed-off-by: Yin Xiujiang <yinxiujiang@kylinos.cn> Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
||
---|---|---|
.. | ||
lib | ||
attrib.c | ||
attrlist.c | ||
bitfunc.c | ||
bitmap.c | ||
debug.h | ||
dir.c | ||
file.c | ||
frecord.c | ||
fslog.c | ||
fsntfs.c | ||
index.c | ||
inode.c | ||
Kconfig | ||
lznt.c | ||
Makefile | ||
namei.c | ||
ntfs_fs.h | ||
ntfs.h | ||
record.c | ||
run.c | ||
super.c | ||
upcase.c | ||
xattr.c |