Re: [PATCH 1/4] x86: entry.S: tidy up several suboptimal insns

Andy Lutomirski
2015-02-24T23:04:17Z

On Tue, Feb 24, 2015 at 3:01 PM, H. Peter Anvin <hpa@zytor.com> wrote:
> On 02/24/2015 02:56 PM, Andy Lutomirski wrote:
>> On Tue, Feb 24, 2015 at 2:52 PM, H. Peter Anvin <hpa@zytor.com> wrote:
>>> On 02/24/2015 02:25 PM, Andy Lutomirski wrote:
>>>> On Tue, Feb 24, 2015 at 10:51 AM, Denys Vlasenko <dvlasenk@redhat.com> wrote:
>>>>> In all three 32-bit entry points, %eax is zero-extended to %rax.
>>>>> It is safe to do 32-bit compare when checking that syscall#
>>>>> is not too large.
>>>>
>>>> Applied. Thanks!
>>>>
>>>
>>> NAK NAK NAK NAK NAK!!!!
>>>
>>> We have already had this turn into a security issue not just once but
>>> TWICE, because someone decided to "optimize" the path by taking out the
>>> zero extend.
>>>
>>> The use of a 64-bit compare here is an intentional "belts and
>>> suspenders" safety issue.
>>
>> Fair enough. OK if I just undo that part of this patch?
>>
>
> Actually this part should have been broken up. The word "several" in
> the patch description is by itself a cause to NAK the patch.

Point taken.

Denys, can you fix this and send a v2 of the entire series with the
traps.c fix as well?

Thanks,
Andy

>
> -hpa
>
>

--
Andy Lutomirski
AMA Capital Management, LLC