# HG changeset patch # User Tim Deegan # Date 1334763793 -3600 # Node ID 33978b6482d058887c00454aff078476cef4155d # Parent 7c777cb8f705411b77c551f34ba88bdc09e38ab8 x86/mm: BUG() rather than panic() on mm lock order violations That gives us a backtrace showing where the bad lock happens. Reported-by: Andres Lagar-Cavilla Signed-off-by: Tim Deegan diff -r 7c777cb8f705 xen/arch/x86/mm/mm-locks.h --- a/xen/arch/x86/mm/mm-locks.h Wed Apr 18 16:49:55 2012 +0100 +++ b/xen/arch/x86/mm/mm-locks.h Wed Apr 18 16:50:45 2012 +0100 @@ -50,8 +50,11 @@ static inline int mm_locked_by_me(mm_loc #define __check_lock_level(l) \ do { \ if ( unlikely(__get_lock_level()) > (l) ) \ - panic("mm locking order violation: %i > %i\n", \ - __get_lock_level(), (l)); \ + { \ + printk("mm locking order violation: %i > %i\n", \ + __get_lock_level(), (l)); \ + BUG(); \ + } \ } while(0) #define __set_lock_level(l) \