diff options
Diffstat (limited to 'kernel/kexec.c')
-rw-r--r-- | kernel/kexec.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/kexec.c b/kernel/kexec.c index ec19b92c7eb..779f0031929 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c @@ -33,6 +33,7 @@ #include <linux/vmalloc.h> #include <linux/swap.h> #include <linux/kmsg_dump.h> +#include <trace/kernel.h> #include <asm/page.h> #include <asm/uaccess.h> @@ -40,6 +41,9 @@ #include <asm/system.h> #include <asm/sections.h> +DEFINE_TRACE(kernel_kernel_kexec); +DEFINE_TRACE(kernel_crash_kexec); + /* Per cpu memory for storing cpu states in case of system crash. */ note_buf_t __percpu *crash_notes; @@ -1066,6 +1070,8 @@ asmlinkage long compat_sys_kexec_load(unsigned long entry, void crash_kexec(struct pt_regs *regs) { + trace_kernel_crash_kexec(kexec_crash_image, regs); + /* Take the kexec_mutex here to prevent sys_kexec_load * running on one cpu from replacing the crash kernel * we are using after a panic on a different cpu. @@ -1495,6 +1501,8 @@ int kernel_kexec(void) { int error = 0; + trace_kernel_kernel_kexec(kexec_image); + if (!mutex_trylock(&kexec_mutex)) return -EBUSY; if (!kexec_image) { |