Hi folks, Here's ~v3~ v4 where we now completely get rid of kexec_mutex. o Patch 1 makes sure all kexec_mutex acquisitions are trylocks. This prevents having to add any while(atomic_cmpxchg()) loops which I'd really hate to see here. If that can't be done then I think we're better off with the combined mutex+atomic var approach. o Patch 2 does the mutex -> atomic var switch. Revisions ========= v3 -> v4 ++++++++ o Someone forgot to Cc LKML on v3... v2 -> v3 ++++++++ o Dropped kexec_mutex entirely and made the atomic variable the one true lock for kexec (Eric) v1 -> v2 ++++++++ o Changed from Peterson-like synchronization to simpler atomic_cmpxchg (Petr) o Slightly reworded changelog o Added Fixes: tag. Technically should be up to since kexec can happen in an NMI, but that isn't such a clear target Cheers, Valentin Valentin Schneider (2): kexec: Turn all kexec_mutex acquisitions into trylocks panic, kexec: Make __crash_kexec() NMI safe include/linux/kexec.h | 2 +- kernel/kexec.c | 11 ++++------- kernel/kexec_core.c | 28 ++++++++++++++++------------ kernel/kexec_file.c | 4 ++-- kernel/kexec_internal.h | 15 ++++++++++++++- kernel/ksysfs.c | 7 ++++++- 6 files changed, 43 insertions(+), 24 deletions(-) -- 2.31.1