Re: STI architectural question (and lretq -- I'm not even kidding)

From: Andy Lutomirski
Date: Wed Jul 23 2014 - 11:12:59 EST


On Jul 23, 2014 3:49 AM, "Borislav Petkov" <bp@xxxxxxxxx> wrote:
>
> On Tue, Jul 22, 2014 at 06:33:02PM -0700, Andy Lutomirski wrote:
> > Of course, this does nothing at all to protect us from #MC after sti
> > on return from #MC to userspace, but I think we're screwed regardless
> > -- we could just as easily get a second #MC before the sti. Machine
> > check broadcast was the worst idea ever.
>
> Please do not think that a raised #MC means the machine is gone. There
> are MC errors which are reported with the exception mechanism and from
> which we can and do recover, regardless of broadcasting or not.
>

How are we supposed to survive two machine checks in rapid succession?
The second will fire as soon as the first one is acked, I imagine.
Unless we switch stacks before acking the MCE, the return address of
the first one will be lost.

In any event, I'll do a manual fixup for this in my patch.


--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/