linux/fs/ntfs3
Edward Adam Davis 609c9ea787 fs/ntfs3: Fix WARNING in ntfs_extend_initialized_size
[ Upstream commit ff35592644 ]

Syzbot reported a WARNING in ntfs_extend_initialized_size.
The data type of in->i_valid and to is u64 in ntfs_file_mmap().
If their values are greater than LLONG_MAX, overflow will occur because
the data types of the parameters valid and new_valid corresponding to
the function ntfs_extend_initialized_size() are loff_t.

Before calling ntfs_extend_initialized_size() in the ntfs_file_mmap(),
the "ni->i_valid < to" has been determined, so the same WARN_ON determination
is not required in ntfs_extend_initialized_size().
Just execute the ntfs_extend_initialized_size() in ntfs_extend() to make
a WARN_ON check.

Reported-and-tested-by: syzbot+e37dd1dfc814b10caa55@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=e37dd1dfc814b10caa55
Signed-off-by: Edward Adam Davis <eadavis@qq.com>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-05-02 07:47:02 +02:00
..
lib fs/ntfs3: Add missing header and guards to lib/ headers 2021-09-13 19:41:44 +03:00
attrib.c fs/ntfs3: Change new sparse cluster processing 2025-03-28 21:59:02 +01:00
attrlist.c fs/ntfs3: Use kvfree to free memory allocated by kvmalloc 2024-09-18 19:23:04 +02:00
bitfunc.c fs/ntfs3: Remove a useless shadowing variable 2021-09-23 19:05:46 +03:00
bitmap.c fs/ntfs3: Use kvfree to free memory allocated by kvmalloc 2024-09-18 19:23:04 +02:00
debug.h fs/ntfs3. Add forward declarations for structs to debug.h 2021-09-13 19:41:43 +03:00
dir.c fs/ntfs3: Check more cases when directory is corrupted 2024-09-12 11:10:24 +02:00
file.c fs/ntfs3: Fix WARNING in ntfs_extend_initialized_size 2025-05-02 07:47:02 +02:00
frecord.c fs/ntfs3: Change new sparse cluster processing 2025-03-28 21:59:02 +01:00
fslog.c fs/ntfs3: Refactor enum_rstbl to suppress static checker 2024-10-17 15:22:12 +02:00
fsntfs.c fs/ntfs3: add prefix to bitmap_size() and use BITS_TO_U64() 2024-08-29 17:30:14 +02:00
index.c fs/ntfs3: Fix a couple integer overflows on 32bit systems 2025-04-10 14:33:36 +02:00
inode.c fs/ntfs3: Change new sparse cluster processing 2025-03-28 21:59:02 +01:00
Kconfig fs/ntfs3: Add Kconfig, Makefile and doc 2021-08-13 07:56:37 -07:00
lznt.c fs/ntfs3: Check if more than chunk-size bytes are written 2024-11-08 16:26:43 +01:00
Makefile fs/ntfs3: Add Kconfig, Makefile and doc 2021-08-13 07:56:37 -07:00
namei.c fs/ntfs3: Fix possible deadlock in mi_read 2024-11-08 16:26:43 +01:00
ntfs.h fs/ntfs3: Fix field-spanning write in INDEX_HDR 2024-08-03 08:49:27 +02:00
ntfs_fs.h fs/ntfs3: Change new sparse cluster processing 2025-03-28 21:59:02 +01:00
record.c fs/ntfs3: Add rough attr alloc_size check 2025-03-13 12:53:25 +01:00
run.c fs/ntfs3: Check fields while reading 2023-07-23 13:49:27 +02:00
super.c fs/ntfs3: Fix shift-out-of-bounds in ntfs_fill_super 2025-03-28 21:58:48 +01:00
upcase.c fs/ntfs3: Change right headers to upcase.c 2021-09-13 19:41:45 +03:00
xattr.c fs/ntfs3: Mark volume as dirty if xattr is broken 2024-07-11 12:47:17 +02:00