In the Linux kernel, the following vulnerability has been resolved:
perf: arm-ni: Unregister PMUs on probe failure
When a resource allocation fails in one clock domain of an NI device, we need to properly roll back all previously registered perf PMUs in other clock domains of the same device.
Otherwise, it can lead to kernel panics.
Calling armniinit+0x0/0xff8 [armni] @ 2374 arm-ni ARMHCB70:00: Failed to request PMU region 0x1f3c13000 arm-ni ARMHCB70:00: probe with driver arm-ni failed with error -16 listadd corruption: next->prev should be prev (fffffd01e9698a18), but was 0000000000000000. (next=ffff10001a0decc8). pstate: 6340009 (nZCv daif +PAN -UAO +TCO +DIT -SSBS BTYPE=--) pc : listaddvalidorreport+0x7c/0xb8 lr : listaddvalidorreport+0x7c/0xb8 Call trace: _listaddvalidorreport+0x7c/0xb8 perfpmuregister+0x22c/0x3a0 armniprobe+0x554/0x70c [armni] platformprobe+0x70/0xe8 reallyprobe+0xc6/0x4d8 driverprobedevice+0x48/0x170 _driverattach+0x8e/0x1c0 busforeachdev+0x64/0xf0 driveradd+0x138/0x260 busadddriver+0x68/0x138 _platformdriverregister+0x2c/0x40 armniinit+0x14/0x2a [armni] doinitmodule+0x36/0x298 ---[ end trace 0000000000000000 ]--- Kernel panic - not syncing: Oops - BUG: Fatal exception SMP: stopping secondary CPUs