Re: [PATCH] x86 : Ensure X86_FLAGS_NT is cleared on syscall entry

From: H. Peter Anvin
Date: Mon Sep 29 2014 - 15:44:16 EST


On 09/29/2014 12:41 PM, Thomas Gleixner wrote:
>>
>> If it weren't the case, then we'd be totally screwed. Fortunately, it
>> is. I found it: SDM Volume 3 6.12.1.2 says:
>>
>> (On calls to exception and interrupt
>> handlers, the processor also clears the VM, RF, and NT flags in the
>> EFLAGS register,
>> after they are saved on the stack.)
>
> Sorry, I misunderstood your question.
>
> And yes on exception and interrupt entry it is cleared. Otherwise the
> whole feature would not work at all ...
>
> But that's why I'm really not worried about it. While we can mask out
> the stupid bit easily, it does not provide any value except protecting
> silly userspace from rightfully raised exceptions.
>
> When I first saw that patch, I was worried about the security impact,
> but after staring long enough at the SDM and the code, the only way it
> can explode is when returning to user space. It cannot explode in the
> kernel.
>
> So in IA-32e it creates a #GP otherwise it falls over the return to
> NULL (TSS.back_link). So what?
>

How about "it's a bug, but it's not (necessarily) a security issue?"

I think we should mask the bit anyway.

-hpa


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