In the Linux kernel, the following vulnerability has been resolved:
scsi: lpfc: Fix call trace observed during I/O with CMF enabled
The following was seen with CMF enabled:
BUG: using smpprocessorid() in preemptible code: systemd-udevd/31711 kernel: caller is lpfcupdatecmfcmd+0x214/0x420 [lpfc] kernel: CPU: 12 PID: 31711 Comm: systemd-udevd kernel: Call Trace: kernel: <TASK> kernel: dumpstacklvl+0x44/0x57 kernel: checkpreemptiondisabled+0xbf/0xe0 kernel: lpfcupdatecmfcmd+0x214/0x420 [lpfc] kernel: lpfcnvmefcpiosubmit+0x23b4/0x4df0 [lpfc]
thiscpuptr() calls smpprocessorid() in a preemptible context.
Fix by using percpuptr() with rawsmpprocessor_id() instead.