In the Linux kernel, the following vulnerability has been resolved:
kasan: remove kasanfindvm_area() to prevent possible deadlock
findvmarea() couldn't be called in atomiccontext. If findvm_area() is called to reports vm area information, kasan can trigger deadlock like:
CPU0 CPU1 vmalloc(); allocvmaparea(); spinlock(&vn->busy.lock) spinlockbh(&somelock); <interrupt occurs> <in softirq> spinlock(&somelock); <access invalid address> kasanreport(); printreport(); printaddressdescription(); kasanfindvmarea(); findvmarea(); spinlock(&vn->busy.lock) // deadlock!
To prevent possible deadlock while kasan reports, remove kasanfindvm_area().