Re: [syzbot] [net?] WARNING in __unix_gc

From: Kuniyuki Iwashima
Date: Fri Feb 02 2024 - 23:00:51 EST


From: syzbot <syzbot+fa3ef895554bdbfd1183@xxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 02 Feb 2024 05:26:28 -0800
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit: 1701940b1a02 Merge branch 'tools-net-ynl-add-features-for-..
> git tree: net-next
> console+strace: https://syzkaller.appspot.com/x/log.txt?x=15cbca88180000
> kernel config: https://syzkaller.appspot.com/x/.config?x=43ed254f922f56d0
> dashboard link: https://syzkaller.appspot.com/bug?extid=fa3ef895554bdbfd1183
> compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11b512ffe80000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=12d6927be80000
>
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/00090c03ed53/disk-1701940b.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/fc03bbe45eb3/vmlinux-1701940b.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/8a5b859954ca/bzImage-1701940b.xz
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+fa3ef895554bdbfd1183@xxxxxxxxxxxxxxxxxxxxxxxxx
>
> ------------[ cut here ]------------
> WARNING: CPU: 0 PID: 2863 at net/unix/garbage.c:345 __unix_gc+0xc74/0xe80 net/unix/garbage.c:345
> Modules linked in:
> CPU: 0 PID: 2863 Comm: kworker/u4:11 Not tainted 6.8.0-rc1-syzkaller-00583-g1701940b1a02 #0
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024
> Workqueue: events_unbound __unix_gc
> RIP: 0010:__unix_gc+0xc74/0xe80 net/unix/garbage.c:345
> Code: 8b 5c 24 50 e9 86 f8 ff ff e8 f8 e4 22 f8 31 d2 48 c7 c6 30 6a 69 89 4c 89 ef e8 97 ef ff ff e9 80 f9 ff ff e8 dd e4 22 f8 90 <0f> 0b 90 e9 7b fd ff ff 48 89 df e8 5c e7 7c f8 e9 d3 f8 ff ff e8
> RSP: 0018:ffffc9000b03fba0 EFLAGS: 00010293
> RAX: 0000000000000000 RBX: ffffc9000b03fc10 RCX: ffffffff816c493e
> RDX: ffff88802c02d940 RSI: ffffffff896982f3 RDI: ffffc9000b03fb30
> RBP: ffffc9000b03fce0 R08: 0000000000000001 R09: fffff52001607f66
> R10: 0000000000000003 R11: 0000000000000002 R12: dffffc0000000000
> R13: ffffc9000b03fc10 R14: ffffc9000b03fc10 R15: 0000000000000001
> FS: 0000000000000000(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00005559c8677a60 CR3: 000000000d57a000 CR4: 00000000003506f0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> Call Trace:
> <TASK>
> process_one_work+0x889/0x15e0 kernel/workqueue.c:2633
> process_scheduled_works kernel/workqueue.c:2706 [inline]
> worker_thread+0x8b9/0x12a0 kernel/workqueue.c:2787
> kthread+0x2c6/0x3b0 kernel/kthread.c:388
> ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147
> ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:242
> </TASK>

Ugh, I should've noticed this before sending another series.

It seems syzbot creates a self-ref cycle.
I'll look into it.

Thanks.