In the Linux kernel, the following vulnerability has been resolved:
led: qcom-lpg: Fix sleeping in atomic
lpgbrighnessset() function can sleep, while led's brightnessset() callback must be non-blocking. Change LPG driver to use brightnessset_blocking() instead.
BUG: sleeping function called from invalid context at kernel/locking/mutex.c:580 inatomic(): 1, irqsdisabled(): 0, nonblock: 0, pid: 0, name: swapper/0 preemptcount: 101, expected: 0 INFO: lockdep is turned off. CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 6.1.0-rc1-00014-gbe99b089c6fc-dirty #85 Hardware name: Qualcomm Technologies, Inc. DB820c (DT) Call trace: dumpbacktrace.part.0+0xe4/0xf0 showstack+0x18/0x40 dumpstacklvl+0x88/0xb4 dumpstack+0x18/0x34 mightresched+0x170/0x254 _mightsleep+0x48/0x9c _mutexlock+0x4c/0x400 mutexlocknested+0x2c/0x40 lpgbrightnesssingleset+0x40/0x90 ledsetbrightnessnosleep+0x34/0x60 ledheartbeatfunction+0x80/0x170 calltimerfn+0xb8/0x340 _runtimers.part.0+0x20c/0x254 runtimersoftirq+0x3c/0x7c stext+0x14c/0x578 _dosoftirq+0x10/0x20 callonirqstack+0x2c/0x5c dosoftirqownstack+0x1c/0x30 _irqexitrcu+0x164/0x170 irqexitrcu+0x10/0x40 el1interrupt+0x38/0x50 el1h64irqhandler+0x18/0x2c el1h64irq+0x64/0x68 cpuidleenterstate+0xc8/0x380 cpuidleenter+0x38/0x50 doidle+0x244/0x2d0 cpustartupentry+0x24/0x30 restinit+0x128/0x1a0 archpostacpisubsysinit+0x0/0x18 startkernel+0x6f4/0x734 _primaryswitched+0xbc/0xc4
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50371.json"
}