• D
    pstore: change mutex locking to spin_locks · abd4d558
    Don Zickus 提交于
    pstore was using mutex locking to protect read/write access to the
    backend plug-ins.  This causes problems when pstore is executed in
    an NMI context through panic() -> kmsg_dump().
    
    This patch changes the mutex to a spin_lock_irqsave then also checks to
    see if we are in an NMI context.  If we are in an NMI and can't get the
    lock, just print a message stating that and blow by the locking.
    
    All this is probably a hack around the bigger locking problem but it
    solves my current situation of trying to sleep in an NMI context.
    
    Tested by loading the lkdtm module and executing a HARDLOCKUP which
    will cause the machine to panic inside the nmi handler.
    Signed-off-by: NDon Zickus <dzickus@redhat.com>
    Acked-by: NMatthew Garrett <mjg@redhat.com>
    Signed-off-by: NTony Luck <tony.luck@intel.com>
    abd4d558
pstore.h 1.9 KB