In the Linux kernel, the following vulnerability has been resolved: mm/kmemleak: avoid deadlock by moving prwarn() outside kmemleaklock When netpoll is enabled, calling prwarnonce() while holding kmemleaklock in mempoolalloc() can cause a deadlock due to lock inversion with the netconsole subsystem. This occurs because prwarn_once() may trigger netpoll, which eventually leads to __allocskb() and back into kmemleak code, attempting to reacquire kmemleaklock. This is the path for the deadlock. mempoolalloc() -> rawspinlockirqsave(&kmemleaklock, flags); -> prwarnonce() -> netconsole subsystem -> netpoll -> __alloc_skb -> __createobject -> rawspinlockirqsave(&kmemleaklock, flags); Fix this by setting a flag and issuing the prwarnonce() after kmemleaklock is released.