On Wed, May 21, 2014 at 2:25 PM, Jiri Kosina <jkos...@suse.cz> wrote: > On Wed, 21 May 2014, Borislav Petkov wrote: > >> > ISTM the do_machine_check code ought to consider any kill-worthy MCE >> > from kernel space to be non-recoverable, but I want to keep the scope >> > of these patches under control. >> >> MCA has a bit called RIPV which, if set, signals that RIP is valid and >> it is safe to return provided we've taken proper care of handling even >> non-correctable errors (memory poisoning, etc). > > Yeah, but it tries to send SIGBUS from MCE context. And if MCE triggered > at the time the CPU was already holding sighand->siglock for that > particular task, it'll deadlock against itself. >
If RIPV is set but we interrupted *kernel* code, SIGBUS doesn't seem like the right solution anyway. Are there any machine check exceptions for which it makes sense to continue right where we left off without a signal? Is CMIC such a beast? Can CMIC be delivered when interrupts are off? --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/