Commit ed8889ca authored by Tetsuo Handa's avatar Tetsuo Handa Committed by Viacheslav Dubeyko
Browse files

hfsplus: pretend special inodes as regular files



Since commit af153bb6 ("vfs: catch invalid modes in may_open()")
requires any inode be one of S_IFDIR/S_IFLNK/S_IFREG/S_IFCHR/S_IFBLK/
S_IFIFO/S_IFSOCK type, use S_IFREG for special inodes.

Reported-by: default avatarsyzbot <syzbot+895c23f6917da440ed0d@syzkaller.appspotmail.com>
Closes: https://syzkaller.appspot.com/bug?extid=895c23f6917da440ed0d


Signed-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reviewed-by: default avatarViacheslav Dubeyko <slava@dubeyko.com>
Signed-off-by: default avatarViacheslav Dubeyko <slava@dubeyko.com>
Link: https://lore.kernel.org/r/d0a07b1b-8b73-4002-8e29-e2bd56871262@I-love.SAKURA.ne.jp


Signed-off-by: default avatarViacheslav Dubeyko <slava@dubeyko.com>
parent d8a73cc4
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -53,6 +53,12 @@ static int hfsplus_system_read_inode(struct inode *inode)
		return -EIO;
	}

	/*
	 * Assign a dummy file type, for may_open() requires that
	 * an inode has a valid file type.
	 */
	inode->i_mode = S_IFREG;

	return 0;
}