Re: [syzbot] [btrfs?] general protection fault in __alloc_workqueue

From: Hillf Danton
Date: Sun Aug 18 2024 - 18:20:53 EST


On Sat, 17 Aug 2024 23:06:23 -0700
> syzbot found the following issue on:
>
> HEAD commit: 367b5c3d53e5 Add linux-next specific files for 20240816
> git tree: linux-next
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=15b868dd980000

#syz test linux-next 367b5c3d53e5

--- x/kernel/workqueue.c
+++ y/kernel/workqueue.c
@@ -5653,6 +5653,7 @@ static struct workqueue_struct *__alloc_
wq = kzalloc(wq_size, GFP_KERNEL);
if (!wq)
return NULL;
+ wq_init_lockdep(wq);

if (flags & WQ_UNBOUND) {
wq->unbound_attrs = alloc_workqueue_attrs();
@@ -5757,10 +5758,6 @@ struct workqueue_struct *alloc_workqueue
va_start(args, max_active);
wq = __alloc_workqueue(fmt, flags, max_active, args);
va_end(args);
- if (!wq)
- return NULL;
-
- wq_init_lockdep(wq);

return wq;
}
--