Re: [PATCH] x86_64, asm: Work around AMD SYSRET SS descriptor attribute issue

From: Brian Gerst
Date: Fri Apr 24 2015 - 13:33:14 EST


On Fri, Apr 24, 2015 at 12:25 PM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Fri, Apr 24, 2015 at 5:00 AM, Brian Gerst <brgerst@xxxxxxxxx> wrote:
>>
>> So actually this isn't a preemption issue, as the NULL SS is coming
>> from an interrupt from userspace (timer tick, etc.).
>
> It *is* a preemption issue, in the sense that the interrupt that
> clears SS also then returns to user space using an "iret" that will
> properly restore it.
>
> So the only case we need to worry about is the preemption case, where
> the interrupt has caused a task switch (typically because it woke
> something up or it was the timer interrupt and the timeslice of the
> previous task is up), and we switch to another context that returns to
> user space using "sysret" instead.

To clarify, I was thinking of the CONFIG_PREEMPT case. A nested
interrupt wouldn't change SS, and IST interrupts can't schedule.

--
Brian Gerst
--
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/