]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
squashfs: verify inode mode when loading from disk
authorTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Wed, 13 Aug 2025 07:17:43 +0000 (16:17 +0900)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 14 Sep 2025 00:32:46 +0000 (17:32 -0700)
commitbc107a619f029415e0a87e6df16f995553da4568
tree3d01486ff4d0d2b4ad70d9a606bab04c3208fdb1
parent6c0022d6dc341668d704b1490674a21805ef645b
squashfs: verify inode mode when loading from disk

The inode mode loaded from corrupted disk might by error contain the file
type bits.  Since the file type bits are set by squashfs_read_inode()
using bitwise OR, the file type bits must not be set by
squashfs_new_inode() from squashfs_read_inode(); otherwise, an invalid
file type bits later confuses may_open().

Link: https://lkml.kernel.org/r/f63d8d11-2254-4fc3-9292-9a43a93b374e@I-love.SAKURA.ne.jp
Reported-by: syzbot <syzbot+895c23f6917da440ed0d@syzkaller.appspotmail.com>
Closes: https://syzkaller.appspot.com/bug?extid=895c23f6917da440ed0d
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reviewed-by: Phillip Lougher <phillip@squashfs.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/squashfs/inode.c