aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/kexec.c6
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
997out: 997out:
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