diff options
Diffstat (limited to 'kernel/kexec.c')
-rw-r--r-- | kernel/kexec.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/kexec.c b/kernel/kexec.c index 37cad75cf494..fcdd5d2bc3f4 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c | |||
@@ -995,7 +995,8 @@ asmlinkage long sys_kexec_load(unsigned long entry, unsigned long nr_segments, | |||
995 | image = xchg(dest_image, image); | 995 | image = xchg(dest_image, image); |
996 | 996 | ||
997 | out: | 997 | out: |
998 | xchg(&kexec_lock, 0); /* Release the mutex */ | 998 | locked = xchg(&kexec_lock, 0); /* Release the mutex */ |
999 | BUG_ON(!locked); | ||
999 | kimage_free(image); | 1000 | kimage_free(image); |
1000 | 1001 | ||
1001 | return result; | 1002 | return result; |
@@ -1061,7 +1062,8 @@ void crash_kexec(struct pt_regs *regs) | |||
1061 | machine_crash_shutdown(&fixed_regs); | 1062 | machine_crash_shutdown(&fixed_regs); |
1062 | machine_kexec(kexec_crash_image); | 1063 | machine_kexec(kexec_crash_image); |
1063 | } | 1064 | } |
1064 | xchg(&kexec_lock, 0); | 1065 | locked = xchg(&kexec_lock, 0); |
1066 | BUG_ON(!locked); | ||
1065 | } | 1067 | } |
1066 | } | 1068 | } |
1067 | 1069 | ||