syzbot


KASAN: null-ptr-deref Write in f2fs_stop_gc_thread

Status: upstream: reported C repro on 2024/12/29 01:22
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+e0b7d6e01c651364459a@syzkaller.appspotmail.com
First crash: 38d, last: 29d
Bug presence (2)
Date Name Commit Repro Result
2025/01/06 linux-6.1.y (ToT) 7dc732d24ff7 C [report] KASAN: null-ptr-deref Write in f2fs_stop_gc_thread
2025/01/06 upstream (ToT) 9d89551994a4 C Didn't crash
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: null-ptr-deref Write in f2fs_stop_gc_thread f2fs C done 5 148d 195d 28/28 fixed on 2024/10/22 11:56

Sample crash report:
==================================================================
BUG: KASAN: null-ptr-deref in instrument_atomic_read_write include/linux/instrumented.h:102 [inline]
BUG: KASAN: null-ptr-deref in atomic_fetch_add_relaxed include/linux/atomic/atomic-instrumented.h:116 [inline]
BUG: KASAN: null-ptr-deref in __refcount_add include/linux/refcount.h:193 [inline]
BUG: KASAN: null-ptr-deref in __refcount_inc include/linux/refcount.h:250 [inline]
BUG: KASAN: null-ptr-deref in refcount_inc include/linux/refcount.h:267 [inline]
BUG: KASAN: null-ptr-deref in get_task_struct include/linux/sched/task.h:110 [inline]
BUG: KASAN: null-ptr-deref in kthread_stop+0x108/0x8c0 kernel/kthread.c:705
Write of size 4 at addr 0000000000000028 by task syz-executor312/4506

CPU: 0 PID: 4506 Comm: syz-executor312 Tainted: G        W          6.1.122-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
Call trace:
 dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:158
 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106
 print_report+0xe4/0x4c0 mm/kasan/report.c:430
 kasan_report+0xd4/0x130 mm/kasan/report.c:531
 kasan_check_range+0x264/0x2a4 mm/kasan/generic.c:189
 __kasan_check_write+0x2c/0x3c mm/kasan/shadow.c:37
 instrument_atomic_read_write include/linux/instrumented.h:102 [inline]
 atomic_fetch_add_relaxed include/linux/atomic/atomic-instrumented.h:116 [inline]
 __refcount_add include/linux/refcount.h:193 [inline]
 __refcount_inc include/linux/refcount.h:250 [inline]
 refcount_inc include/linux/refcount.h:267 [inline]
 get_task_struct include/linux/sched/task.h:110 [inline]
 kthread_stop+0x108/0x8c0 kernel/kthread.c:705
 f2fs_stop_gc_thread+0x70/0xc0 fs/f2fs/gc.c:209
 f2fs_ioc_shutdown fs/f2fs/file.c:2341 [inline]
 __f2fs_ioctl+0x7cc8/0xb738 fs/f2fs/file.c:4309
 f2fs_ioctl+0x130/0x1a0 fs/f2fs/file.c:4390
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:870 [inline]
 __se_sys_ioctl fs/ioctl.c:856 [inline]
 __arm64_sys_ioctl+0x14c/0x1c8 fs/ioctl.c:856
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2bc arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:140
 do_el0_svc+0x58/0x13c arch/arm64/kernel/syscall.c:204
 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637
 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585
==================================================================
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000028
Mem abort info:
  ESR = 0x0000000096000006
  EC = 0x25: DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
  FSC = 0x06: level 2 translation fault
Data abort info:
  ISV = 0, ISS = 0x00000006
  CM = 0, WnR = 0
user pgtable: 4k pages, 48-bit VAs, pgdp=000000011ebab000
[0000000000000028] pgd=0800000114545003, p4d=0800000114545003, pud=080000011eb57003, pmd=0000000000000000
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 4506 Comm: syz-executor312 Tainted: G    B   W          6.1.122-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : __lse_atomic_fetch_add_relaxed arch/arm64/include/asm/atomic_lse.h:62 [inline]
pc : arch_atomic_fetch_add_relaxed arch/arm64/include/asm/atomic.h:49 [inline]
pc : atomic_fetch_add_relaxed include/linux/atomic/atomic-instrumented.h:117 [inline]
pc : __refcount_add include/linux/refcount.h:193 [inline]
pc : __refcount_inc include/linux/refcount.h:250 [inline]
pc : refcount_inc include/linux/refcount.h:267 [inline]
pc : get_task_struct include/linux/sched/task.h:110 [inline]
pc : kthread_stop+0x114/0x8c0 kernel/kthread.c:705
lr : arch_atomic_fetch_add_relaxed arch/arm64/include/asm/atomic.h:49 [inline]
lr : atomic_fetch_add_relaxed include/linux/atomic/atomic-instrumented.h:117 [inline]
lr : __refcount_add include/linux/refcount.h:193 [inline]
lr : __refcount_inc include/linux/refcount.h:250 [inline]
lr : refcount_inc include/linux/refcount.h:267 [inline]
lr : get_task_struct include/linux/sched/task.h:110 [inline]
lr : kthread_stop+0x110/0x8c0 kernel/kthread.c:705
sp : ffff800022217700
x29: ffff800022217700 x28: ffff700004442f2c x27: ffff800022217960
x26: 1fffe0001ab81378 x25: dfff800000000000 x24: 0000000000400140
x23: dfff800000000000 x22: dfff800000000000 x21: 0000000000000028
x20: 0000000000000001 x19: 0000000000000000 x18: 1fffe000367a0176
x17: ffff800015a8d000 x16: ffff800012330d74 x15: ffff0001b3d00bbc
x14: ffff0001b3d00bb8 x13: 1fffe000367a0176 x12: 0000000000000001
x11: 0000000000ff0100 x10: 0000000000000000 x9 : ffff80000823620c
x8 : 0000000000000001 x7 : 1fffe000367a0177 x6 : ffff800008278b08
x5 : 0000000000000000 x4 : 0000000000000001 x3 : ffff8000081a9738
x2 : 0000000000000001 x1 : 0000000000000000 x0 : 0000000000000000
Call trace:
 arch_atomic_fetch_add_relaxed arch/arm64/include/asm/atomic.h:49 [inline]
 atomic_fetch_add_relaxed include/linux/atomic/atomic-instrumented.h:117 [inline]
 __refcount_add include/linux/refcount.h:193 [inline]
 __refcount_inc include/linux/refcount.h:250 [inline]
 refcount_inc include/linux/refcount.h:267 [inline]
 get_task_struct include/linux/sched/task.h:110 [inline]
 kthread_stop+0x114/0x8c0 kernel/kthread.c:705
 f2fs_stop_gc_thread+0x70/0xc0 fs/f2fs/gc.c:209
 f2fs_ioc_shutdown fs/f2fs/file.c:2341 [inline]
 __f2fs_ioctl+0x7cc8/0xb738 fs/f2fs/file.c:4309
 f2fs_ioctl+0x130/0x1a0 fs/f2fs/file.c:4390
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:870 [inline]
 __se_sys_ioctl fs/ioctl.c:856 [inline]
 __arm64_sys_ioctl+0x14c/0x1c8 fs/ioctl.c:856
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2bc arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:140
 do_el0_svc+0x58/0x13c arch/arm64/kernel/syscall.c:204
 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637
 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585
Code: 941d0188 d503201f 940af3dc 52800028 (b82802b4) 
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
   0:	941d0188 	bl	0x740620
   4:	d503201f 	nop
   8:	940af3dc 	bl	0x2bcf78
   c:	52800028 	mov	w8, #0x1                   	// #1
* 10:	b82802b4 	ldadd	w8, w20, [x21] <-- trapping instruction

Crashes (10):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/12/30 23:02 linux-6.1.y 563edd786f0a d3ccff63 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 KASAN: null-ptr-deref Write in f2fs_stop_gc_thread
2024/12/30 18:34 linux-6.1.y 563edd786f0a d3ccff63 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 KASAN: null-ptr-deref Write in f2fs_stop_gc_thread
2024/12/30 12:58 linux-6.1.y 563edd786f0a d3ccff63 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 KASAN: null-ptr-deref Write in f2fs_stop_gc_thread
2024/12/30 06:35 linux-6.1.y 563edd786f0a d3ccff63 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 KASAN: null-ptr-deref Write in f2fs_stop_gc_thread
2024/12/30 02:02 linux-6.1.y 563edd786f0a d3ccff63 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro #1] [mounted in repro #2] ci2-linux-6-1-kasan-arm64 KASAN: null-ptr-deref Write in f2fs_stop_gc_thread
2024/12/29 19:18 linux-6.1.y 563edd786f0a d3ccff63 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 KASAN: null-ptr-deref Write in f2fs_stop_gc_thread
2024/12/29 16:23 linux-6.1.y 563edd786f0a d3ccff63 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 KASAN: null-ptr-deref Write in f2fs_stop_gc_thread
2024/12/29 09:55 linux-6.1.y 563edd786f0a d3ccff63 .config console log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 KASAN: null-ptr-deref Write in f2fs_stop_gc_thread
2024/12/29 05:08 linux-6.1.y 563edd786f0a d3ccff63 .config console log report syz / log [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan-arm64 KASAN: null-ptr-deref Write in f2fs_stop_gc_thread
2024/12/29 01:21 linux-6.1.y 563edd786f0a d3ccff63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 KASAN: null-ptr-deref Write in f2fs_stop_gc_thread
* Struck through repros no longer work on HEAD.