Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

minixfs: Verify inode mode when loading from disk

The inode mode loaded from corrupted disk can be invalid. Do like what
commit 0a9e74051313 ("isofs: Verify inode mode when loading from disk")
does.

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>
Link: https://lore.kernel.org/ec982681-84b8-4624-94fa-8af15b77cbd2@I-love.SAKURA.ne.jp
Signed-off-by: Christian Brauner <brauner@kernel.org>

authored by

Tetsuo Handa and committed by
Christian Brauner
73861970 8e7e265d

+7 -1
+7 -1
fs/minix/inode.c
··· 492 492 inode->i_op = &minix_symlink_inode_operations; 493 493 inode_nohighmem(inode); 494 494 inode->i_mapping->a_ops = &minix_aops; 495 - } else 495 + } else if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode) || 496 + S_ISFIFO(inode->i_mode) || S_ISSOCK(inode->i_mode)) { 496 497 init_special_inode(inode, inode->i_mode, rdev); 498 + } else { 499 + printk(KERN_DEBUG "MINIX-fs: Invalid file type 0%04o for inode %lu.\n", 500 + inode->i_mode, inode->i_ino); 501 + make_bad_inode(inode); 502 + } 497 503 } 498 504 499 505 /*