[RFC][PATCH -mmotm 1/4] Add static function calls of pstore to kexec path
Seiji Aguchi
seiji.aguchi at hds.com
Tue Jul 19 14:48:22 EDT 2011
>How is this safe? What happens if there's a pstore access in process
>when you hit this codepath?
This will never happen because pstore_kmsg_dump_in_interrupt() is called after machine_crash_shutdown().
Panicked cpu sends NMI to all other cpus in machine_crash_shutdown() and they stop.
@@ -1081,6 +1083,7 @@ void crash_kexec(struct pt_regs *regs)
crash_setup_regs(&fixed_regs, regs);
crash_save_vmcoreinfo();
machine_crash_shutdown(&fixed_regs);
+ pstore_kmsg_dump_in_interrupt(KMSG_DUMP_KEXEC);
Seiji
>-----Original Message-----
>From: Matthew Garrett [mailto:mjg at redhat.com]
>Sent: Tuesday, July 19, 2011 2:35 PM
>To: Seiji Aguchi
>Cc: kexec at lists.infradead.org; linux-kernel at vger.kernel.org; linux-mtd at lists.infradead.org; Eric W. Biederman; Vivek
>Goyal; KOSAKI Motohiro; Americo Wang; tony.luck at intel.com; Andrew Morton; Jarod Wilson; hpa at zytor.com; dzickus at redhat.com;
>dle-develop at lists.sourceforge.net; Satoru Moriya
>Subject: Re: [RFC][PATCH -mmotm 1/4] Add static function calls of pstore to kexec path
>
>On Tue, Jul 19, 2011 at 02:24:27PM -0400, Seiji Aguchi wrote:
>
>> - mutex_lock(&psinfo->buf_mutex);
>> + switch (reason) {
>> + case KMSG_DUMP_KEXEC:
>> + /* Skip if there is no driver or there is a driver calling
>> + pstore_register() */
>> + if (!psinfo || !spin_trylock(&pstore_lock))
>> + return;
>> + break;
>> + default:
>> + mutex_lock(&psinfo->buf_mutex);
>
>How is this safe? What happens if there's a pstore access in process
>when you hit this codepath?
>
>--
>Matthew Garrett | mjg59 at srcf.ucam.org
More information about the kexec
mailing list