syzbot


BUG: unable to handle kernel paging request in percpu_ref_get_many

Status: moderation: reported on 2022/10/26 11:54
Reported-by: syzbot+ce1d8c2d8ff5b6760687@syzkaller.appspotmail.com
First crash: 105d, last: 30d

Sample crash report:
Unable to handle kernel paging request at virtual address 003ec94ccab13f0d
Mem abort info:
  ESR = 0x0000000096000004
  EC = 0x25: DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
  FSC = 0x04: level 0 translation fault
Data abort info:
  ISV = 0, ISS = 0x00000004
  CM = 0, WnR = 0
[003ec94ccab13f0d] address between user and kernel address ranges
Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 14 Comm: ksoftirqd/0 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: 204000c5 (nzCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : __ref_is_percpu include/linux/percpu-refcount.h:174 [inline]
pc : percpu_ref_get_many+0x64/0x140 include/linux/percpu-refcount.h:204
lr : rcu_read_lock include/linux/rcupdate.h:739 [inline]
lr : percpu_ref_get_many+0x2c/0x140 include/linux/percpu-refcount.h:202
sp : ffff80000f2cbad0
x29: ffff80000f2cbad0 x28: 0000000000000005 x27: 00000000fffffff8
x26: ffff80000d2de560 x25: ffff80000d37d050 x24: 0000000000000000
x23: ffff0001fefcc560 x22: 0000000000000001 x21: ffff000119f5fc00
x20: ef3ec94ccab13f0d x19: 0000000000000001 x18: 0000000000000080
x17: 000000000000b67e x16: 0000000000000100 x15: 0000000000000100
x14: 0000000000000000 x13: 00000000c0000000 x12: 0000000000000c01
x11: ff808000095d4118 x10: 0000000000000000 x9 : ffff80000d2dd658
x8 : 0000000100000100 x7 : 0000000000000000 x6 : ffff800008579b18
x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000002
x2 : 0000000000000000
 x1 : ffff80000ce889e3 x0 : 0000000000000001
Call trace:
 rcu_read_lock include/linux/rcupdate.h:739 [inline]
 percpu_ref_get_many+0x64/0x140 include/linux/percpu-refcount.h:202
 percpu_ref_get include/linux/percpu-refcount.h:222 [inline]
 obj_cgroup_get include/linux/memcontrol.h:779 [inline]
 refill_obj_stock+0x8c/0x254 mm/memcontrol.c:3327
 obj_cgroup_uncharge+0x14/0x20 mm/memcontrol.c:3394
 memcg_slab_free_hook+0x118/0x188 mm/slab.h:569
 slab_free mm/slub.c:3656 [inline]
 kmem_cache_free+0xd8/0x3a4 mm/slub.c:3683
 free_task_struct kernel/fork.c:176 [inline]
 free_task kernel/fork.c:559 [inline]
 __put_task_struct+0x138/0x154 kernel/fork.c:845
 put_task_struct include/linux/sched/task.h:119 [inline]
 delayed_put_task_struct+0x70/0xd8 kernel/exit.c:178
 rcu_do_batch+0x1a4/0x584 kernel/rcu/tree.c:2248
 rcu_core+0x2bc/0x5b4 kernel/rcu/tree.c:2508
 rcu_core_si+0x10/0x1c kernel/rcu/tree.c:2525
 _stext+0x168/0x37c
 run_ksoftirqd+0x4c/0x21c kernel/softirq.c:934
 smpboot_thread_fn+0x248/0x3ec kernel/smpboot.c:164
 kthread+0x12c/0x158 kernel/kthread.c:376
 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860
Code: 913d9042 52805c81 39285909 97f0ad5f (f9400289) 
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
   0:	913d9042 	add	x2, x2, #0xf64
   4:	52805c81 	mov	w1, #0x2e4                 	// #740
   8:	39285909 	strb	w9, [x8, #2582]
   c:	97f0ad5f 	bl	0xffffffffffc2b588
* 10:	f9400289 	ldr	x9, [x20] <-- trapping instruction

Crashes (3):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets Title
ci-upstream-gce-arm64 2023/01/06 05:43 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] BUG: unable to handle kernel paging request in percpu_ref_get_many
ci-upstream-gce-arm64 2022/11/17 03:00 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 9500fc6e9e60 3a127a31 .config console log report info [disk image] [vmlinux] [kernel image] BUG: unable to handle kernel paging request in percpu_ref_get_many
ci-upstream-gce-arm64 2022/10/22 11:50 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci bbed346d5a96 c0b80a55 .config console log report info [disk image] [vmlinux] BUG: unable to handle kernel paging request in percpu_ref_get_many
* Struck through repros no longer work on HEAD.