In the Linux kernel, the following vulnerability has been resolved:
powerpc/rtas: use correct function name for resetting TCE tables
The PAPR spec spells the function name as
"ibm,reset-pe-dma-windows"
but in practice firmware uses the singular form:
"ibm,reset-pe-dma-window"
in the device tree. Since we have the wrong spelling in the RTAS function table, reverse lookups (token -> name) fail and warn:
unexpected failed lookup for token 86 WARNING: CPU: 1 PID: 545 at arch/powerpc/kernel/rtas.c:659 _doenterrtastrace+0x2a4/0x2b4 CPU: 1 PID: 545 Comm: systemd-udevd Not tainted 6.8.0-rc4 #30 Hardware name: IBM,9105-22A POWER10 (raw) 0x800200 0xf000006 of:IBM,FW1060.00 (NL1060028) hv:phyp pSeries NIP [c0000000000417f0] _doenterrtastrace+0x2a4/0x2b4 LR [c0000000000417ec] _doenterrtastrace+0x2a0/0x2b4 Call Trace: _doenterrtastrace+0x2a0/0x2b4 (unreliable) rtascall+0x1f8/0x3e0 enableddw.constprop.0+0x4d0/0xc84 dmaiommudmasupported+0xe8/0x24c dmasetmask+0x5c/0xd8 mlx5pciinit.constprop.0+0xf0/0x46c [mlx5core] probeone+0xfc/0x32c [mlx5core] localpciprobe+0x68/0x12c pcicallprobe+0x68/0x1ec pcideviceprobe+0xbc/0x1a8 reallyprobe+0x104/0x570 _driverprobedevice+0xb8/0x224 driverprobedevice+0x54/0x130 _driverattach+0x158/0x2b0 busforeachdev+0xa8/0x120 driverattach+0x34/0x48 busadddriver+0x174/0x304 driverregister+0x8c/0x1c4 _pciregisterdriver+0x68/0x7c mlx5init+0xb8/0x118 [mlx5core] dooneinitcall+0x60/0x388 doinitmodule+0x7c/0x2a4 initmodulefromfile+0xb4/0x108 idempotentinitmodule+0x184/0x34c sysfinitmodule+0x90/0x114
And oopses are possible when lockdep is enabled or the RTAS tracepoints are active, since those paths dereference the result of the lookup.
Use the correct spelling to match firmware's behavior, adjusting the related constants to match.