In the Linux kernel, the following vulnerability has been resolved:
tick/broadcast: Move per CPU pointer access into the atomic section
The recent fix for making the take over of the broadcast timer more reliable retrieves a per CPU pointer in preemptible context.
This went unnoticed as compilers hoist the access into the non-preemptible region where the pointer is actually used. But of course it's valid that the compiler keeps it at the place where the code puts it which rightfully triggers:
BUG: using smpprocessorid() in preemptible [00000000] code: caller is hotplugcpubroadcasttick_pull+0x1c/0xc0
Move it to the actual usage site which is in a non-preemptible region.