Re: BUG: WARNING in kvfree_rcu_bulk

Uladzislau Rezki
2024-08-29T08:17:37Z

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