RDX: eb30e365dd53f3a0 RSI: c553273f825e1cf7 RDI: b331ef28487276fd RBP: 9c8c87e20081ee76 R08: cf9d780a350b4549 R09: c7e58b697db8ef3d R10: d68d02d45a22dc24 R11: 19b4d49ef33da9ed R12: 39cb75b6fa6cb3d1 R13: a8d7b5dbf29d588f R14: 9b8908dcbb4f02b4 R15: 107b9d1451766018 ---[ end trace 10490157514b2423 ]--- ================================================================== BUG: KASAN: null-ptr-deref in instrument_atomic_read_write include/linux/instrumented.h:101 [inline] BUG: KASAN: null-ptr-deref in atomic_inc_return include/asm-generic/atomic-instrumented.h:250 [inline] BUG: KASAN: null-ptr-deref in ihold+0x20/0x60 fs/inode.c:423 Write of size 4 at addr 0000000000000170 by task syz.8.1622/6691 CPU: 0 PID: 6691 Comm: syz.8.1622 Tainted: G W 5.10.226-syzkaller-00031-gb14940b90491 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack_lvl+0x1e2/0x24b lib/dump_stack.c:118 __kasan_report mm/kasan/report.c:439 [inline] kasan_report+0x167/0x1c0 mm/kasan/report.c:452 kasan_check_range+0x293/0x2a0 mm/kasan/generic.c:189 __kasan_check_write+0x14/0x20 mm/kasan/shadow.c:37 instrument_atomic_read_write include/linux/instrumented.h:101 [inline] atomic_inc_return include/asm-generic/atomic-instrumented.h:250 [inline] ihold+0x20/0x60 fs/inode.c:423 d_delete_notify include/linux/fsnotify.h:264 [inline] vfs_rmdir+0x200/0x3f0 fs/namei.c:3865 incfs_kill_sb+0x108/0x220 fs/incfs/vfs.c:1973 deactivate_locked_super+0xad/0x110 fs/super.c:335 deactivate_super+0xbe/0xf0 fs/super.c:366 cleanup_mnt+0x45c/0x510 fs/namespace.c:1118 __cleanup_mnt+0x19/0x20 fs/namespace.c:1125 task_work_run+0x129/0x190 kernel/task_work.c:189 exit_task_work include/linux/task_work.h:33 [inline] do_exit+0xc83/0x2a50 kernel/exit.c:863 do_group_exit+0x141/0x310 kernel/exit.c:985 get_signal+0x10a0/0x1410 kernel/signal.c:2790 arch_do_signal_or_restart+0xbd/0x17c0 arch/x86/kernel/signal.c:805 handle_signal_work kernel/entry/common.c:145 [inline] exit_to_user_mode_loop+0x9b/0xd0 kernel/entry/common.c:169 exit_to_user_mode_prepare kernel/entry/common.c:199 [inline] syscall_exit_to_user_mode+0xa2/0x1a0 kernel/entry/common.c:274 do_syscall_64+0x40/0x70 arch/x86/entry/common.c:56 entry_SYSCALL_64_after_hwframe+0x61/0xcb RIP: 00fb:0x294e66b3c7c44cb4 Code: Unable to access opcode bytes at RIP 0x294e66b3c7c44c8a. RSP: 002b:0000000000000000 EFLAGS: 00000202 ORIG_RAX: ce3d5c200518e753 RAX: 6d02b596a6d6b2c6 RBX: 46b00e13ac8c17fa RCX: 1d6d567492f1521e RDX: eb30e365dd53f3a0 RSI: c553273f825e1cf7 RDI: b331ef28487276fd RBP: 9c8c87e20081ee76 R08: cf9d780a350b4549 R09: c7e58b697db8ef3d R10: d68d02d45a22dc24 R11: 19b4d49ef33da9ed R12: 39cb75b6fa6cb3d1 R13: a8d7b5dbf29d588f R14: 9b8908dcbb4f02b4 R15: 107b9d1451766018 ================================================================== BUG: kernel NULL pointer dereference, address: 0000000000000170 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 0 P4D 0 Oops: 0002 [#1] PREEMPT SMP KASAN CPU: 0 PID: 6691 Comm: syz.8.1622 Tainted: G B W 5.10.226-syzkaller-00031-gb14940b90491 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 RIP: 0010:arch_atomic_inc_return include/linux/atomic-arch-fallback.h:286 [inline] RIP: 0010:atomic_inc_return include/asm-generic/atomic-instrumented.h:251 [inline] RIP: 0010:ihold+0x25/0x60 fs/inode.c:423 Code: 00 00 00 00 00 55 48 89 e5 41 56 53 49 89 fe e8 a1 27 b3 ff 49 8d be 70 01 00 00 be 04 00 00 00 e8 90 c4 f0 ff bb 01 00 00 00 41 0f c1 9e 70 01 00 00 ff c3 bf 02 00 00 00 89 de e8 24 2b b3 RSP: 0018:ffffc9000138f828 EFLAGS: 00010246 RAX: ffff8881350abb00 RBX: 0000000000000001 RCX: ffff8881350abb40 RDX: 0000000000000000 RSI: 0000000000000282 RDI: 00000000ffffffff RBP: ffffc9000138f838 R08: ffffffff813e2a7b R09: 0000000000000003 R10: fffffbfff0e10e48 R11: dffffc0000000001 R12: dffffc0000000000 R13: ffff88812c67d330 R14: 0000000000000000 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000170 CR3: 000000000660f000 CR4: 00000000003506b0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: fffffffffffffffd DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: d_delete_notify include/linux/fsnotify.h:264 [inline] vfs_rmdir+0x200/0x3f0 fs/namei.c:3865 incfs_kill_sb+0x108/0x220 fs/incfs/vfs.c:1973 deactivate_locked_super+0xad/0x110 fs/super.c:335 deactivate_super+0xbe/0xf0 fs/super.c:366 cleanup_mnt+0x45c/0x510 fs/namespace.c:1118 __cleanup_mnt+0x19/0x20 fs/namespace.c:1125 task_work_run+0x129/0x190 kernel/task_work.c:189 exit_task_work include/linux/task_work.h:33 [inline] do_exit+0xc83/0x2a50 kernel/exit.c:863 do_group_exit+0x141/0x310 kernel/exit.c:985 get_signal+0x10a0/0x1410 kernel/signal.c:2790 arch_do_signal_or_restart+0xbd/0x17c0 arch/x86/kernel/signal.c:805 handle_signal_work kernel/entry/common.c:145 [inline] exit_to_user_mode_loop+0x9b/0xd0 kernel/entry/common.c:169 exit_to_user_mode_prepare kernel/entry/common.c:199 [inline] syscall_exit_to_user_mode+0xa2/0x1a0 kernel/entry/common.c:274 do_syscall_64+0x40/0x70 arch/x86/entry/common.c:56 entry_SYSCALL_64_after_hwframe+0x61/0xcb RIP: 00fb:0x294e66b3c7c44cb4 Code: Unable to access opcode bytes at RIP 0x294e66b3c7c44c8a. RSP: 002b:0000000000000000 EFLAGS: 00000202 ORIG_RAX: ce3d5c200518e753 RAX: 6d02b596a6d6b2c6 RBX: 46b00e13ac8c17fa RCX: 1d6d567492f1521e RDX: eb30e365dd53f3a0 RSI: c553273f825e1cf7 RDI: b331ef28487276fd RBP: 9c8c87e20081ee76 R08: cf9d780a350b4549 R09: c7e58b697db8ef3d R10: d68d02d45a22dc24 R11: 19b4d49ef33da9ed R12: 39cb75b6fa6cb3d1 R13: a8d7b5dbf29d588f R14: 9b8908dcbb4f02b4 R15: 107b9d1451766018 Modules linked in: CR2: 0000000000000170 ---[ end trace 10490157514b2424 ]--- RIP: 0010:arch_atomic_inc_return include/linux/atomic-arch-fallback.h:286 [inline] RIP: 0010:atomic_inc_return include/asm-generic/atomic-instrumented.h:251 [inline] RIP: 0010:ihold+0x25/0x60 fs/inode.c:423 Code: 00 00 00 00 00 55 48 89 e5 41 56 53 49 89 fe e8 a1 27 b3 ff 49 8d be 70 01 00 00 be 04 00 00 00 e8 90 c4 f0 ff bb 01 00 00 00 41 0f c1 9e 70 01 00 00 ff c3 bf 02 00 00 00 89 de e8 24 2b b3 RSP: 0018:ffffc9000138f828 EFLAGS: 00010246 RAX: ffff8881350abb00 RBX: 0000000000000001 RCX: ffff8881350abb40 RDX: 0000000000000000 RSI: 0000000000000282 RDI: 00000000ffffffff RBP: ffffc9000138f838 R08: ffffffff813e2a7b R09: 0000000000000003 R10: fffffbfff0e10e48 R11: dffffc0000000001 R12: dffffc0000000000 R13: ffff88812c67d330 R14: 0000000000000000 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000170 CR3: 000000000660f000 CR4: 00000000003506b0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: fffffffffffffffd DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess): 0: 00 00 add %al,(%rax) 2: 00 00 add %al,(%rax) 4: 00 55 48 add %dl,0x48(%rbp) 7: 89 e5 mov %esp,%ebp 9: 41 56 push %r14 b: 53 push %rbx c: 49 89 fe mov %rdi,%r14 f: e8 a1 27 b3 ff call 0xffb327b5 14: 49 8d be 70 01 00 00 lea 0x170(%r14),%rdi 1b: be 04 00 00 00 mov $0x4,%esi 20: e8 90 c4 f0 ff call 0xfff0c4b5 25: bb 01 00 00 00 mov $0x1,%ebx * 2a: f0 41 0f c1 9e 70 01 lock xadd %ebx,0x170(%r14) <-- trapping instruction 31: 00 00 33: ff c3 inc %ebx 35: bf 02 00 00 00 mov $0x2,%edi 3a: 89 de mov %ebx,%esi 3c: e8 .byte 0xe8 3d: 24 2b and $0x2b,%al 3f: b3 .byte 0xb3