>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:[email protected]]
>Sent: Tuesday, July 19, 2011 2:35 PM
>To: Seiji Aguchi
>Cc: [email protected]; [email protected]; 
>[email protected]; Eric W. Biederman; Vivek
>Goyal; KOSAKI Motohiro; Americo Wang; [email protected]; Andrew Morton; 
>Jarod Wilson; [email protected]; [email protected];
>[email protected]; 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 | [email protected]

_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to