In the Linux kernel, the following vulnerability has been resolved: usb: cdns3: Put the cdns set active part outside the spin lock The device may be scheduled during the resume process, so this cannot appear in atomic operations. Since pmruntimesetactive will resume suppliers, put set active outside the spin lock, which is only used to protect the struct cdns data structure, otherwise the kernel will report the following warning: BUG: sleeping function called from invalid context at drivers/base/power/runtime.c:1163 inatomic(): 1, irqsdisabled(): 0, nonblock: 0, pid: 651, name: sh preemptcount: 1, expected: 0 RCU nest depth: 0, expected: 0 CPU: 0 PID: 651 Comm: sh Tainted: G WC 6.1.20 #1 Hardware name: Freescale i.MX8QM MEK (DT) Call trace: dumpbacktrace.part.0+0xe0/0xf0 showstack+0x18/0x30 dumpstacklvl+0x64/0x80 dumpstack+0x1c/0x38 _mightresched+0x1fc/0x240 _mightsleep+0x68/0xc0 _pmruntimeresume+0x9c/0xe0 rpmgetsuppliers+0x68/0x1b0 _pmruntimesetstatus+0x298/0x560 cdnsresume+0xb0/0x1c0 cdns3controllerresume.isra.0+0x1e0/0x250 cdns3platresume+0x28/0x40