Re: BUG: WARNING in kvfree_rcu_bulk

Xingyu Li
2024-08-29T23:30:03Z

Here is the config file:
https://gist.github.com/TomAPU/64f5db0fe976a3e94a6dd2b621887cdd

On Thu, Aug 29, 2024 at 1:17 AM Uladzislau Rezki <urezki@gmail.com> wrote:
>
> Hello!
>
> > Hi,
> >
> > We found a bug in Linux 6.10 using syzkaller. It is possibly a task hung bug.
> > The reprodcuer is
> > https://gist.github.com/freexxxyyy/67172235de920ccf2f282f9e1179354d
> >
> > The bug report is:
> >
> > ------------[ cut here ]------------
> > ODEBUG: active_state not available (active state 0) object:
> > ffff88802526c180 object type: rcu_head hint: 0x0
> > WARNING: CPU: 0 PID: 4497 at lib/debugobjects.c:517 debug_print_object
> > lib/debugobjects.c:514 [inline]
> > WARNING: CPU: 0 PID: 4497 at lib/debugobjects.c:517
> > debug_object_active_state+0x2b0/0x360 lib/debugobjects.c:954
> > Modules linked in:
> > CPU: 0 PID: 4497 Comm: kworker/0:3 Not tainted 6.10.0 #13
> > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> > Workqueue: events kfree_rcu_work
> > RIP: 0010:debug_print_object lib/debugobjects.c:514 [inline]
> > RIP: 0010:debug_object_active_state+0x2b0/0x360 lib/debugobjects.c:954
> > Code: d7 95 fd 4d 8b 0c 24 48 c7 c7 a0 61 a9 8b 48 c7 c6 60 5e a9 8b
> > 48 89 ea 8b 4c 24 04 49 89 d8 41 57 e8 24 1b f7 fc 48 83 c4 08 <0f> 0b
> > ff 05 88 0c c6 0a 48 83 c4 28 5b 41 5c 41 5d 41 5e 41 5f 5d
> > RSP: 0018:ffffc90002cc7a10 EFLAGS: 00010292
> > RAX: f9c69a923cadb800 RBX: ffff88802526c180 RCX: ffff88801e3cbc00
> > RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
> > RBP: ffffffff8ba96360 R08: ffffffff8155a25a R09: 1ffff1100c74519a
> > R10: dffffc0000000000 R11: ffffed100c74519b R12: ffffffff8b4de5c0
> > R13: 0000000000000005 R14: dffffc0000000000 R15: 0000000000000000
> > FS: 0000000000000000(0000) GS:ffff888063a00000(0000) knlGS:0000000000000000
> > CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > CR2: 00007fa7a316ef78 CR3: 000000000d932000 CR4: 0000000000350ef0
> > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> > Call Trace:
> > <TASK>
> > debug_rcu_head_unqueue kernel/rcu/rcu.h:236 [inline]
> > debug_rcu_bhead_unqueue kernel/rcu/tree.c:3287 [inline]
> > kvfree_rcu_bulk+0xc5/0x4d0 kernel/rcu/tree.c:3364
> > kfree_rcu_work+0x443/0x500 kernel/rcu/tree.c:3450
> > process_one_work kernel/workqueue.c:3248 [inline]
> > process_scheduled_works+0x977/0x1410 kernel/workqueue.c:3329
> > worker_thread+0xaa0/0x1020 kernel/workqueue.c:3409
> > kthread+0x2eb/0x380 kernel/kthread.c:389
> > ret_from_fork+0x49/0x80 arch/x86/kernel/process.c:147
> > ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:244
> > </TASK>
> >
> Is your kernel configuration special? I mean should i have something
> truly enabled in the .config to reproduce it?
>
> Thank you for the report!
>
> --
> Uladzislau Rezki

--
Yours sincerely,
Xingyu