syzbot


BUG: unable to handle kernel NULL pointer dereference in try_to_free_buffers

Status: auto-obsoleted due to no activity on 2023/04/05 17:38
Subsystems: kernfs
[Documentation on labels]
Reported-by: syzbot+702653cddadf19e9f2cd@syzkaller.appspotmail.com
First crash: 438d, last: 438d

Sample crash report:
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000060
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=0000000165fd1000
[0000000000000060] pgd=0800000170eac003, p4d=0800000170eac003, pud=080000015dc77003, pmd=0000000000000000
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 23103 Comm: syz-executor.5 Not tainted 6.1.0-rc2-syzkaller-154433-g247f34f7b803 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : atomic_read include/linux/atomic/atomic-instrumented.h:28 [inline]
pc : buffer_busy fs/buffer.c:2784 [inline]
pc : drop_buffers fs/buffer.c:2796 [inline]
pc : try_to_free_buffers+0xfc/0x4b0 fs/buffer.c:2826
lr : drop_buffers fs/buffer.c:2799 [inline]
lr : try_to_free_buffers+0x12c/0x4b0 fs/buffer.c:2826
sp : ffff8000143f3390
x29: ffff8000143f3390 x28: 0000000000000001 x27: dead000000000100
x26: fffffc00045af8c8 x25: 0000000000000000 x24: ffff8000143f3888
x23: 0000000000000001 x22: ffff00011d61e170 x21: 0000000000000000
x20: 0000000000000000 x19: fffffc00045af8c0 x18: 00000000000002cc
x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
x14: 0000000000000002 x13: 0000000000000003 x12: 0000000000040000
x11: 000000000003ffff x10: ffff8000144cd000 x9 : ffff8000086503d8
x8 : 0000000000040000 x7 : 0000000000000002 x6 : ffff80000841b87c
x5 : 0000000000000000 x4 : 0000000000000000 x3 : ffff8000143f33d0
x2 : ffff0001163fa000 x1 : 0000000000000000 x0 : 0000000000000000
Call trace:
 drop_buffers fs/buffer.c:2791 [inline]
 try_to_free_buffers+0xfc/0x4b0 fs/buffer.c:2826
 filemap_release_folio+0xe4/0x238 mm/filemap.c:3949
 shrink_folio_list+0xdbc/0x337c mm/vmscan.c:1982
 shrink_inactive_list+0x304/0x50c mm/vmscan.c:2489
 shrink_list mm/vmscan.c:2716 [inline]
 shrink_lruvec+0x230/0x5a4 mm/vmscan.c:5885
 shrink_node_memcgs+0x13c/0x2c4 mm/vmscan.c:6074
 shrink_node+0xb4/0x600 mm/vmscan.c:6105
 shrink_zones+0x1bc/0x408 mm/vmscan.c:6343
 do_try_to_free_pages+0xd0/0x42c mm/vmscan.c:6405
 try_to_free_mem_cgroup_pages+0x174/0x244 mm/vmscan.c:6720
 memory_high_write+0xc4/0x12c mm/memcontrol.c:6399
 cgroup_file_write+0x104/0x3e4 kernel/cgroup/cgroup.c:4057
 kernfs_fop_write_iter+0x1e4/0x294 fs/kernfs/file.c:330
 do_iter_write+0x318/0x560 fs/read_write.c:861
 vfs_iter_write+0x4c/0x6c fs/read_write.c:902
 iter_file_splice_write+0x2a8/0x518 fs/splice.c:686
 do_splice_from fs/splice.c:764 [inline]
 direct_splice_actor+0x4c/0xe0 fs/splice.c:931
 splice_direct_to_actor+0x1dc/0x3e4 fs/splice.c:886
 do_splice_direct+0xc4/0x14c fs/splice.c:974
 do_sendfile+0x298/0x68c fs/read_write.c:1255
 __do_sys_sendfile64 fs/read_write.c:1323 [inline]
 __se_sys_sendfile64 fs/read_write.c:1309 [inline]
 __arm64_sys_sendfile64+0xb0/0x230 fs/read_write.c:1309
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall arch/arm64/kernel/syscall.c:52 [inline]
 el0_svc_common+0x138/0x220 arch/arm64/kernel/syscall.c:142
 do_el0_svc+0x48/0x164 arch/arm64/kernel/syscall.c:206
 el0_svc+0x58/0x150 arch/arm64/kernel/entry-common.c:636
 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:654
 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581
Code: 2a1f03f3 14000081 f9401676 aa1603f5 (b94062a8) 
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
   0:	2a1f03f3 	mov	w19, wzr
   4:	14000081 	b	0x208
   8:	f9401676 	ldr	x22, [x19, #40]
   c:	aa1603f5 	mov	x21, x22
* 10:	b94062a8 	ldr	w8, [x21, #96] <-- trapping instruction

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/01/05 17:38 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 247f34f7b803 1dac8c7a .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 BUG: unable to handle kernel NULL pointer dereference in try_to_free_buffers
* Struck through repros no longer work on HEAD.