In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to do sanity check on ino and xnid syzbot reported a f2fs bug as below: INFO: task syz-executor140:5308 blocked for more than 143 seconds. Not tainted 6.14.0-rc7-syzkaller-00069-g81e4f8d68c66 #0 "echo 0 > /proc/sys/kernel/hungtasktimeoutsecs" disables this message. task:syz-executor140 state:D stack:24016 pid:5308 tgid:5308 ppid:5306 taskflags:0x400140 flags:0x00000006 Call Trace: <TASK> contextswitch kernel/sched/core.c:5378 [inline] _schedule+0x190e/0x4c90 kernel/sched/core.c:6765 _scheduleloop kernel/sched/core.c:6842 [inline] schedule+0x14b/0x320 kernel/sched/core.c:6857 ioschedule+0x8d/0x110 kernel/sched/core.c:7690 foliowaitbitcommon+0x839/0xee0 mm/filemap.c:1317 _foliolock mm/filemap.c:1664 [inline] foliolock include/linux/pagemap.h:1163 [inline] _filemapgetfolio+0x147/0xb40 mm/filemap.c:1917 pagecachegetpage+0x2c/0x130 mm/folio-compat.c:87 findgetpageflags include/linux/pagemap.h:842 [inline] f2fsgrabcachepage+0x2b/0x320 fs/f2fs/f2fs.h:2776 _getnodepage+0x131/0x11b0 fs/f2fs/node.c:1463 readxattrblock+0xfb/0x190 fs/f2fs/xattr.c:306 lookupallxattrs fs/f2fs/xattr.c:355 [inline] f2fsgetxattr+0x676/0xf70 fs/f2fs/xattr.c:533 _f2fsgetacl+0x52/0x870 fs/f2fs/acl.c:179 f2fsaclcreate fs/f2fs/acl.c:375 [inline] f2fsinitacl+0xd7/0x9b0 fs/f2fs/acl.c:418 f2fsinitinodemetadata+0xa0f/0x1050 fs/f2fs/dir.c:539 f2fsaddinlineentry+0x448/0x860 fs/f2fs/inline.c:666 f2fsadddentry+0xba/0x1e0 fs/f2fs/dir.c:765 f2fsdoaddlink+0x28c/0x3a0 fs/f2fs/dir.c:808 f2fsaddlink fs/f2fs/f2fs.h:3616 [inline] f2fsmknod+0x2e8/0x5b0 fs/f2fs/namei.c:766 vfsmknod+0x36d/0x3b0 fs/namei.c:4191 unixbindbsd net/unix/afunix.c:1286 [inline] unixbind+0x563/0xe30 net/unix/afunix.c:1379 _sysbindsocket net/socket.c:1817 [inline] _sysbind+0x1e4/0x290 net/socket.c:1848 _dosysbind net/socket.c:1853 [inline] _sesysbind net/socket.c:1851 [inline] _x64sysbind+0x7a/0x90 net/socket.c:1851 dosyscallx64 arch/x86/entry/common.c:52 [inline] dosyscall64+0xf3/0x230 arch/x86/entry/common.c:83 entrySYSCALL64afterhwframe+0x77/0x7f Let's dump and check metadata of corrupted inode, it shows its xattrnid is the same to its iino. dump.f2fs -i 3 chaseyu.img.raw ixattrnid [0x 3 : 3] So that, during mknod in the corrupted directory, it tries to get and lock inode page twice, result in deadlock. - f2fsmknod - f2fsaddinlineentry - f2fsgetinodepage --- lock dir's inode page - f2fsinitacl - f2fsaclcreate(dir,..) - _f2fsgetacl - f2fsgetxattr - lookupallxattrs - _getnode_page --- try to lock dir's inode page In order to fix this, let's add sanity check on ino and xnid.