Re: [syzbot] WARNING in pwq_unbound_release_workfn (2)

From: Pavel Skripkin
Date: Tue Jul 20 2021 - 07:30:47 EST


On Mon, 19 Jul 2021 17:55:20 -0700
syzbot <syzbot+d04950c1e97f51d0068a@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:

> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit: 2734d6c1b1a0 Linux 5.14-rc2
> git tree: upstream
> console output:
> https://syzkaller.appspot.com/x/log.txt?x=1518d3bc300000 kernel
> config: https://syzkaller.appspot.com/x/.config?x=f7dfeb6dfc05ea19
> dashboard link:
> https://syzkaller.appspot.com/bug?extid=d04950c1e97f51d0068a
>
> Unfortunately, I don't have any reproducer for this issue yet.
>
> IMPORTANT: if you fix the issue, please add the following tag to the
> commit: Reported-by:
> syzbot+d04950c1e97f51d0068a@xxxxxxxxxxxxxxxxxxxxxxxxx
>
> ------------[ cut here ]------------
> WARNING: CPU: 3 PID: 32 at kernel/locking/lockdep.c:6305
> lockdep_unregister_key+0x19a/0x250 kernel/locking/lockdep.c:6305
> Modules linked in: CPU: 3 PID: 32 Comm: kworker/3:0 Not tainted
> 5.14.0-rc2-syzkaller #0 Hardware name: QEMU Standard PC (Q35 + ICH9,
> 2009), BIOS 1.14.0-2 04/01/2014 Workqueue: events
> pwq_unbound_release_workfn RIP:
> 0010:lockdep_unregister_key+0x19a/0x250 kernel/locking/lockdep.c:6305
> Code: 00 00 fc ff df 48 89 fa 48 c1 ea 03 80 3c 02 00 0f 85 8f 00 00
> 00 4d 89 7d 08 48 b8 22 01 00 00 00 00 ad de 48 89 43 08 eb 02 <0f>
> 0b 4c 89 f7 ba 01 00 00 00 48 89 ee e8 44 fd ff ff 4c 89 f7 e8 RSP:
> 0018:ffffc900007bfcb0 EFLAGS: 00010046 RAX: dffffc0000000000 RBX:
> 0000000000000000 RCX: 1ffffffff1ad87cd RDX: 1ffffffff1fcad55 RSI:
> 0000000000000004 RDI: ffffffff8fe56aa8 RBP: ffff88801416e928 R08:
> 0000000000000001 R09: 0000000000000003 R10: fffff520000f7f8c R11:
> 0000000000086088 R12: 0000000000000246 R13: dffffc0000000000 R14:
> ffffffff8fcd1868 R15: ffff888047033870 FS: 0000000000000000(0000)
> GS:ffff88802cd00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000
> ES: 0000 CR0: 0000000080050033 CR2: 00000000014a53ad CR3:
> 00000000479f1000 CR4: 0000000000150ee0 DR0: 0000000000000000 DR1:
> 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6:
> 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:
> wq_unregister_lockdep kernel/workqueue.c:3468 [inline]
> pwq_unbound_release_workfn+0x223/0x2d0 kernel/workqueue.c:3700
> process_one_work+0x98d/0x1630 kernel/workqueue.c:2276
> worker_thread+0x658/0x11f0 kernel/workqueue.c:2422
> kthread+0x3e5/0x4d0 kernel/kthread.c:319 ret_from_fork+0x1f/0x30
> arch/x86/entry/entry_64.S:295


I think, this should be fixed by:

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=a9a2e0482d647b07b4d45033f4be0854d3ea201e

Unfortunately, syzbot didn't provide any reproducer, so no chance to
test it :(



With regards,
Pavel Skripkin