In the Linux kernel, the following vulnerability has been resolved: powerpc/pseries: Rework lppacasharedproc() to avoid DEBUGPREEMPT lppacasharedproc() takes a pointer to the lppaca which is typically accessed through getlppaca(). With DEBUGPREEMPT enabled, this leads to checking if preemption is enabled, for example: BUG: using smpprocessorid() in preemptible [00000000] code: grep/10693 caller is lparcfgdata+0x408/0x19a0 CPU: 4 PID: 10693 Comm: grep Not tainted 6.5.0-rc3 #2 Call Trace: dumpstacklvl+0x154/0x200 (unreliable) checkpreemptiondisabled+0x214/0x220 lparcfgdata+0x408/0x19a0 ... This isn't actually a problem however, as it does not matter which lppaca is accessed, the shared proc state will be the same. vcpudispatchstatsprocfsinit() already works around this by disabling preemption, but the lparcfg code does not, erroring any time /proc/powerpc/lparcfg is accessed with DEBUGPREEMPT enabled. Instead of disabling preemption on the caller side, rework lppacashared_proc() to not take a pointer and instead directly access the lppaca, bypassing any potential preemption checks. [mpe: Rework to avoid needing a definition in paca.h and lppaca.h]