KASAN: null-ptr-deref Write in vfs_rmdir

Status: premoderation: reported on 2026/08/21 23:42
Reported-by: syzbot+2e63fe1d20853914db4d@syzkaller.appspotmail.com
First crash: 4d20h, last: 1d06h
Similar bugs (4)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-5-15 KASAN: null-ptr-deref Write in vfs_rmdir origin:downstream 19 syz, C 229119 now 867d 0/2 upstream: reported C repro on 2024/04/11 17:58
android-6-1 KASAN: null-ptr-deref Write in vfs_rmdir origin:downstream 19 syz, C 202609 2d09h 867d 0/2 upstream: reported C repro on 2024/04/11 09:39
android-54 KASAN: null-ptr-deref Write in vfs_rmdir 12 syz, C 9357 457d 867d 0/2 upstream: reported C repro on 2024/04/11 05:33
android-5-10 KASAN: null-ptr-deref Write in vfs_rmdir 19 syz, C 582767 now 867d 0/2 upstream: reported C repro on 2024/04/11 05:14

Sample crash report:
RBP: 00007ffe6cf4db60 R08: 00007ffe6cf4eb60 R09: 00000000ffffffff
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffe6cf4ebf0
R13: 00007f9ebc034474 R14: 0000000000006b6d R15: 00007ffe6cf4ec30
 </TASK>
---[ end trace 0000000000000000 ]---
==================================================================
BUG: KASAN: null-ptr-deref in instrument_atomic_read_write include/linux/instrumented.h:96 [inline]
BUG: KASAN: null-ptr-deref in atomic_inc_return include/linux/atomic/atomic-instrumented.h:453 [inline]
BUG: KASAN: null-ptr-deref in ihold+0x24/0x70 fs/inode.c:452
Write of size 4 at addr 0000000000000168 by task syz-executor/296

CPU: 0 UID: 0 PID: 296 Comm: syz-executor Tainted: G        W          syzkaller #0 2456bfd0916d80188827445f664284f1a044436b
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
 <TASK>
 __dump_stack+0x21/0x30 lib/dump_stack.c:94
 dump_stack_lvl+0x140/0x1c0 lib/dump_stack.c:120
 print_report+0x3d/0x70 mm/kasan/report.c:484
 kasan_report+0x162/0x1a0 mm/kasan/report.c:594
 check_region_inline mm/kasan/generic.c:-1 [inline]
 kasan_check_range+0x25a/0x2b0 mm/kasan/generic.c:189
 __kasan_check_write+0x18/0x20 mm/kasan/shadow.c:37
 instrument_atomic_read_write include/linux/instrumented.h:96 [inline]
 atomic_inc_return include/linux/atomic/atomic-instrumented.h:453 [inline]
 ihold+0x24/0x70 fs/inode.c:452
 d_delete_notify include/linux/fsnotify.h:357 [inline]
 vfs_rmdir+0x25c/0x560 fs/namei.c:4361
 incfs_kill_sb+0x102/0x220 fs/incfs/vfs.c:1968
 deactivate_locked_super+0xd2/0x270 fs/super.c:478
 deactivate_super+0xb8/0xe0 fs/super.c:511
 cleanup_mnt+0x438/0x4d0 fs/namespace.c:1380
 __cleanup_mnt+0x1d/0x40 fs/namespace.c:1387
 task_work_run+0x1e8/0x260 kernel/task_work.c:246
 resume_user_mode_work+0x35/0x50 include/linux/resume_user_mode.h:50
 exit_to_user_mode_loop kernel/entry/common.c:114 [inline]
 exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline]
 __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
 syscall_exit_to_user_mode+0x63/0xb0 kernel/entry/common.c:218
 do_syscall_64+0x63/0xf0 arch/x86/entry/common.c:84
 entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7f9ebbf9f317
Code: a2 c7 05 dc 43 25 00 00 00 00 00 eb 96 e8 e1 12 00 00 90 31 f6 e9 09 00 00 00 66 0f 1f 84 00 00 00 00 00 b8 a6 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 01 c3 48 c7 c2 e8 ff ff ff f7 d8 64 89 02 b8
RSP: 002b:00007ffe6cf4daa8 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 00007f9ebbf9f317
RDX: 0000000000000000 RSI: 0000000000000009 RDI: 00007ffe6cf4db60
RBP: 00007ffe6cf4db60 R08: 00007ffe6cf4eb60 R09: 00000000ffffffff
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffe6cf4ebf0
R13: 00007f9ebc034474 R14: 0000000000006b6d R15: 00007ffe6cf4ec30
 </TASK>
==================================================================
BUG: kernel NULL pointer dereference, address: 0000000000000168
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 8000000106f81067 P4D 8000000106f81067 PUD 0 
Oops: Oops: 0002 [#1] PREEMPT SMP KASAN PTI
CPU: 0 UID: 0 PID: 296 Comm: syz-executor Tainted: G    B   W          syzkaller #0 2456bfd0916d80188827445f664284f1a044436b
Tainted: [B]=BAD_PAGE, [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
RIP: 0010:arch_atomic_add_return arch/x86/include/asm/atomic.h:85 [inline]
RIP: 0010:raw_atomic_add_return include/linux/atomic/atomic-arch-fallback.h:564 [inline]
RIP: 0010:raw_atomic_inc_return include/linux/atomic/atomic-arch-fallback.h:1020 [inline]
RIP: 0010:atomic_inc_return include/linux/atomic/atomic-instrumented.h:454 [inline]
RIP: 0010:ihold+0x2a/0x70 fs/inode.c:452
Code: f3 0f 1e fa 55 48 89 e5 41 56 53 48 89 fb e8 0d 2a 95 ff 48 8d bb 68 01 00 00 be 04 00 00 00 e8 3c 09 ee ff 41 be 01 00 00 00 <f0> 44 0f c1 b3 68 01 00 00 41 ff c6 bf 02 00 00 00 44 89 f6 e8 1d
RSP: 0018:ffffc9000b67fcc8 EFLAGS: 00010246
RAX: ffff8881033e1300 RBX: 0000000000000000 RCX: ffff8881033e1300
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc9000b67fcd8 R08: ffffffff88bb7947 R09: 1ffffffff1176f28
R10: dffffc0000000000 R11: fffffbfff1176f29 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000001 R15: dffffc0000000000
FS:  0000555590db1500(0000) GS:ffff8881f6e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000168 CR3: 0000000124214000 CR4: 00000000003526b0
Call Trace:
 <TASK>
 d_delete_notify include/linux/fsnotify.h:357 [inline]
 vfs_rmdir+0x25c/0x560 fs/namei.c:4361
 incfs_kill_sb+0x102/0x220 fs/incfs/vfs.c:1968
 deactivate_locked_super+0xd2/0x270 fs/super.c:478
 deactivate_super+0xb8/0xe0 fs/super.c:511
 cleanup_mnt+0x438/0x4d0 fs/namespace.c:1380
 __cleanup_mnt+0x1d/0x40 fs/namespace.c:1387
 task_work_run+0x1e8/0x260 kernel/task_work.c:246
 resume_user_mode_work+0x35/0x50 include/linux/resume_user_mode.h:50
 exit_to_user_mode_loop kernel/entry/common.c:114 [inline]
 exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline]
 __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
 syscall_exit_to_user_mode+0x63/0xb0 kernel/entry/common.c:218
 do_syscall_64+0x63/0xf0 arch/x86/entry/common.c:84
 entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7f9ebbf9f317
Code: a2 c7 05 dc 43 25 00 00 00 00 00 eb 96 e8 e1 12 00 00 90 31 f6 e9 09 00 00 00 66 0f 1f 84 00 00 00 00 00 b8 a6 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 01 c3 48 c7 c2 e8 ff ff ff f7 d8 64 89 02 b8
RSP: 002b:00007ffe6cf4daa8 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 00007f9ebbf9f317
RDX: 0000000000000000 RSI: 0000000000000009 RDI: 00007ffe6cf4db60
RBP: 00007ffe6cf4db60 R08: 00007ffe6cf4eb60 R09: 00000000ffffffff
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffe6cf4ebf0
R13: 00007f9ebc034474 R14: 0000000000006b6d R15: 00007ffe6cf4ec30
 </TASK>
Modules linked in:
CR2: 0000000000000168
---[ end trace 0000000000000000 ]---
RIP: 0010:arch_atomic_add_return arch/x86/include/asm/atomic.h:85 [inline]
RIP: 0010:raw_atomic_add_return include/linux/atomic/atomic-arch-fallback.h:564 [inline]
RIP: 0010:raw_atomic_inc_return include/linux/atomic/atomic-arch-fallback.h:1020 [inline]
RIP: 0010:atomic_inc_return include/linux/atomic/atomic-instrumented.h:454 [inline]
RIP: 0010:ihold+0x2a/0x70 fs/inode.c:452
Code: f3 0f 1e fa 55 48 89 e5 41 56 53 48 89 fb e8 0d 2a 95 ff 48 8d bb 68 01 00 00 be 04 00 00 00 e8 3c 09 ee ff 41 be 01 00 00 00 <f0> 44 0f c1 b3 68 01 00 00 41 ff c6 bf 02 00 00 00 44 89 f6 e8 1d
RSP: 0018:ffffc9000b67fcc8 EFLAGS: 00010246
RAX: ffff8881033e1300 RBX: 0000000000000000 RCX: ffff8881033e1300
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc9000b67fcd8 R08: ffffffff88bb7947 R09: 1ffffffff1176f28
R10: dffffc0000000000 R11: fffffbfff1176f29 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000001 R15: dffffc0000000000
FS:  0000555590db1500(0000) GS:ffff8881f6e00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000168 CR3: 0000000124214000 CR4: 00000000003526b0
----------------
Code disassembly (best guess):
   0:	f3 0f 1e fa          	endbr64
   4:	55                   	push   %rbp
   5:	48 89 e5             	mov    %rsp,%rbp
   8:	41 56                	push   %r14
   a:	53                   	push   %rbx
   b:	48 89 fb             	mov    %rdi,%rbx
   e:	e8 0d 2a 95 ff       	call   0xff952a20
  13:	48 8d bb 68 01 00 00 	lea    0x168(%rbx),%rdi
  1a:	be 04 00 00 00       	mov    $0x4,%esi
  1f:	e8 3c 09 ee ff       	call   0xffee0960
  24:	41 be 01 00 00 00    	mov    $0x1,%r14d
* 2a:	f0 44 0f c1 b3 68 01 	lock xadd %r14d,0x168(%rbx) <-- trapping instruction
  31:	00 00
  33:	41 ff c6             	inc    %r14d
  36:	bf 02 00 00 00       	mov    $0x2,%edi
  3b:	44 89 f6             	mov    %r14d,%esi
  3e:	e8                   	.byte 0xe8
  3f:	1d                   	.byte 0x1d

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/25 14:14 android16-6.12 e8191d250396 a9a1fc32 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust KASAN: null-ptr-deref Write in vfs_rmdir
2026/08/21 23:41 android16-6.12 e8c85685a629 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-6-12-rust KASAN: null-ptr-deref Write in vfs_rmdir
* Struck through repros no longer work on HEAD.