Re: [PATCH] ntfs: don't allow compression on volumes with clusters larger than 4K
From: Namjae Jeon
Date: Mon Nov 02 2026 - 09:33:19 EST
On Mon, Nov 2, 2026 at 6:35 PM Zhan Xusheng <zhanxusheng1024@xxxxxxxxx> wrote:
>
> From: Zhan Xusheng <zhanxusheng@xxxxxxxxxx>
>
> 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@xxxxxxxxxxxxxxx
> Signed-off-by: Zhan Xusheng <zhanxusheng@xxxxxxxxxx>
Applied it to #ntfs-next.
Thanks!