RE: Re: [V4 PATCH 3/4] kexec: Fix race between panic() and crash_kexec() called directly

From: æåèå / KAWAIïHIDEHIRO
Date: Mon Sep 28 2015 - 00:47:38 EST


> Hi Hidehiro,
>
> [auto build test results on v4.3-rc2 -- if it's inappropriate base, please ignore]
>
> config: x86_64-allnoconfig (attached as .config)
> reproduce:
> git checkout 0077681103150af584e5e592c0238fd010654c26
> # save the attached .config to linux build tree
> make ARCH=x86_64
>
> All error/warnings (new ones prefixed by >>):
>
> kernel/panic.c: In function 'panic':
> >> kernel/panic.c:140:3: error: implicit declaration of function '__crash_kexec' [-Werror=implicit-function-declaration]
> __crash_kexec(NULL);
> ^

Sorry, I missed to take into account the case of !CONFIG_KEXEC_CORE.

#else /* !CONFIG_KEXEC_CORE */
struct pt_regs;
struct task_struct;
+static inline void __crash_kexec(struct pt_regs *regs) { }
static inline void crash_kexec(struct pt_regs *regs) { }
static inline int kexec_should_crash(struct task_struct *p) { return 0; }

I'll resend the revised version later.

> cc1: some warnings being treated as errors
>
> vim +/__crash_kexec +140 kernel/panic.c
>
> 134 * If we have crashed and we have a crash kernel loaded let it handle
> 135 * everything else.
> 136 * If we want to run this after calling panic_notifiers, pass
> 137 * the "crash_kexec_post_notifiers" option to the kernel.
> 138 */
> 139 if (!crash_kexec_post_notifiers)
> > 140 __crash_kexec(NULL);
> 141
> 142 /*
> 143 * Note smp_send_stop is the usual smp shutdown function, which
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation


Hidehiro Kawai
Hitachi, Ltd. Research & Development Group