A CPU executing vprintk_emit might be interrupted by #PF exception, this may leads to logbuf_lock deadlock: CPU x: CPU x: ---- ---- vprintk_emit() logbuf_lock_irqsave() printk_safe_enter_irqsave() A: raw_spin_lock(&logbuf_lock) vprintk_store() #PF do_page_fault ... oops_end bust_spinlocks(0) console_unlock() ... printk_safe_enter_irqsave() B: raw_spin_lock(&logbuf_lock) logbuf_lock is taken at A and the deadlock happends at B. Pass 1 to bust_spinlocks() in the oops_end() to avoid this deadlock.