diff options
| author | Zhan Xusheng <zhanxusheng@xiaomi.com> | 2026-11-02 17:35:43 +0800 |
|---|---|---|
| committer | Namjae Jeon <linkinjeon@kernel.org> | 2026-11-02 22:53:56 +0900 |
| commit | c77ab4eeeb3ed471bcc99a94673f0e0142c4b84a (patch) | |
| tree | fcfccdf2620f3c3dff1c27bb980df3d29ba27f58 /tools/lib/python | |
| parent | 99afbf38a5c571157526b7b1c6d8dd7ad1a234d5 (diff) | |
ntfs: don't allow compression on volumes with clusters larger than 4K
On a volume made with "mkntfs -c 8192", a user can set
FILE_ATTR_COMPRESSED on an empty file through system.ntfs_attrib.
Writing to the file and reading it back after dropping the page cache
then crashes:
BUG: KASAN: slab-out-of-bounds in ntfs_read_compressed_block+0xa2c/0x2040
Read of size 8192 at addr ffff88804355a000 by task dd/106
The read path only handles clusters up to 4K. It copies each cluster
out of a single page, and a compression block of 16 8K clusters does
not fit in the 64K ntfs_compression_buffer. Loading an inode already
rejects compressed data on such volumes.
Reject the flag change the same way.
Fixes: fc053f05ca28 ("ntfs: add reparse and ea operations")
Cc: stable@vger.kernel.org
Signed-off-by: Zhan Xusheng <zhanxusheng@xiaomi.com>
Reviewed-by: Baolin Liu <liubaolin@kylinos.cn>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions
