syzbot


general protection fault in refill_obj_stock

Status: moderation: reported on 2025/03/17 15:09
Subsystems: mm cgroups
[Documentation on labels]
Reported-by: syzbot+30ebc2fa4739bd16a38e@syzkaller.appspotmail.com
First crash: 4d15h, last: 4d15h

Sample crash report:
Oops: general protection fault, probably for non-canonical address 0xffff1100e1fe5c00: 0000 [#1] PREEMPT SMP KASAN NOPTI
KASAN: maybe wild-memory-access in range [0xfff8a8070ff2e000-0xfff8a8070ff2e007]
CPU: 0 UID: 0 PID: 14859 Comm: rm Not tainted 6.14.0-rc6-syzkaller-00022-gb7f94fcf5546 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
RIP: 0010:percpu_ref_get_many include/linux/percpu-refcount.h:205 [inline]
RIP: 0010:percpu_ref_get include/linux/percpu-refcount.h:222 [inline]
RIP: 0010:obj_cgroup_get include/linux/memcontrol.h:764 [inline]
RIP: 0010:refill_obj_stock+0x14e/0x610 mm/memcontrol.c:2870
Code: 02 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 ea 48 c1 ea 03 80 3c 02 00 0f 85 3d 04 00 00 48 8b 45 00 a8 03 0f 85 79 02 00 00 <65> 48 ff 00 e8 d9 62 ff ff 4c 89 fa 48 b8 00 00 00 00 00 fc ff df
RSP: 0018:ffffc900040df920 EFLAGS: 00010046
RAX: ffff8880299e5c00 RBX: 0000000000039ac0 RCX: ffffffff822450b8
RDX: 1ffffffff3582768 RSI: ffffffff8bd35960 RDI: ffffffff8dab0ce0
RBP: ffffffff9ac13b40 R08: 0000000000000000 R09: fffffbfff2dd8598
R10: ffffffff96ec2cc7 R11: 0000000000000002 R12: 0000000000000078
R13: ffff8880b8639ac0 R14: ffff88802f93b300 R15: ffff8880b8639b00
FS:  0000000000000000(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f629b63d440 CR3: 00000000250fa000 CR4: 0000000000350ef0
Call Trace:
 <TASK>
 obj_cgroup_uncharge mm/memcontrol.c:2936 [inline]
 __memcg_slab_free_hook+0x229/0x5a0 mm/memcontrol.c:3023
 memcg_slab_free_hook mm/slub.c:2178 [inline]
 slab_free mm/slub.c:4606 [inline]
 kmem_cache_free+0x443/0x4d0 mm/slub.c:4711
 anon_vma_chain_free mm/rmap.c:147 [inline]
 unlink_anon_vmas+0x458/0x820 mm/rmap.c:447
 free_pgtables+0x12c/0x950 mm/memory.c:387
 exit_mmap+0x406/0xba0 mm/mmap.c:1295
 __mmput+0x12a/0x410 kernel/fork.c:1356
 mmput+0x62/0x70 kernel/fork.c:1378
 exit_mm kernel/exit.c:570 [inline]
 do_exit+0x9ba/0x2d70 kernel/exit.c:925
 do_group_exit+0xd3/0x2a0 kernel/exit.c:1087
 __do_sys_exit_group kernel/exit.c:1098 [inline]
 __se_sys_exit_group kernel/exit.c:1096 [inline]
 __x64_sys_exit_group+0x3e/0x50 kernel/exit.c:1096
 x64_sys_call+0x151f/0x1720 arch/x86/include/generated/asm/syscalls_64.h:232
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f629b6fba90
Code: Unable to access opcode bytes at 0x7f629b6fba66.
RSP: 002b:00007ffe225590a8 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 00007f629b7ec860 RCX: 00007f629b6fba90
RDX: 00000000000000e7 RSI: 000000000000003c RDI: 0000000000000000
RBP: 00007f629b7ec860 R08: 00007ffe22558f20 R09: 00007ffe22559000
R10: 00007ffe22558f60 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007f629b7f0658 R15: 0000000000000001
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:percpu_ref_get_many include/linux/percpu-refcount.h:205 [inline]
RIP: 0010:percpu_ref_get include/linux/percpu-refcount.h:222 [inline]
RIP: 0010:obj_cgroup_get include/linux/memcontrol.h:764 [inline]
RIP: 0010:refill_obj_stock+0x14e/0x610 mm/memcontrol.c:2870
Code: 02 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 ea 48 c1 ea 03 80 3c 02 00 0f 85 3d 04 00 00 48 8b 45 00 a8 03 0f 85 79 02 00 00 <65> 48 ff 00 e8 d9 62 ff ff 4c 89 fa 48 b8 00 00 00 00 00 fc ff df
RSP: 0018:ffffc900040df920 EFLAGS: 00010046
RAX: ffff8880299e5c00 RBX: 0000000000039ac0 RCX: ffffffff822450b8
RDX: 1ffffffff3582768 RSI: ffffffff8bd35960 RDI: ffffffff8dab0ce0
RBP: ffffffff9ac13b40 R08: 0000000000000000 R09: fffffbfff2dd8598
R10: ffffffff96ec2cc7 R11: 0000000000000002 R12: 0000000000000078
R13: ffff8880b8639ac0 R14: ffff88802f93b300 R15: ffff8880b8639b00
FS:  0000000000000000(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f629b63d440 CR3: 00000000250fa000 CR4: 0000000000350ef0
----------------
Code disassembly (best guess), 1 bytes skipped:
   0:	00 00                	add    %al,(%rax)
   2:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
   9:	fc ff df
   c:	48 89 ea             	mov    %rbp,%rdx
   f:	48 c1 ea 03          	shr    $0x3,%rdx
  13:	80 3c 02 00          	cmpb   $0x0,(%rdx,%rax,1)
  17:	0f 85 3d 04 00 00    	jne    0x45a
  1d:	48 8b 45 00          	mov    0x0(%rbp),%rax
  21:	a8 03                	test   $0x3,%al
  23:	0f 85 79 02 00 00    	jne    0x2a2
* 29:	65 48 ff 00          	incq   %gs:(%rax) <-- trapping instruction
  2d:	e8 d9 62 ff ff       	call   0xffff630b
  32:	4c 89 fa             	mov    %r15,%rdx
  35:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  3c:	fc ff df

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/03/13 14:59 upstream b7f94fcf5546 44be8b44 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root general protection fault in refill_obj_stock
* Struck through repros no longer work on HEAD.