Re: [RFC v2 PATCH 7/7] x86/entry: use int for syscall number; handle all invalid syscall nrs

From: H. Peter Anvin
Date: Thu May 13 2021 - 23:23:39 EST


Yeah. Also, x32 long is 32 bits...

On May 13, 2021 8:18:37 PM PDT, Andy Lutomirski <andy@xxxxxxxxxxxxx> wrote:
>On 5/13/21 5:38 PM, H. Peter Anvin wrote:
>> On 5/12/21 3:22 PM, Thomas Gleixner wrote:
>>>>
>>>> As far as this being a user ABI change, this is actually a revert
>to the
>>>> original x86-64 ABI; see my message to Ingo.
>>>
>>> I'm not against that change, but it has to be well justified and the
>>> reasoning wants to be in the changelog. You know the drill :)
>>>
>>
>> FYI:
>>
>> So in the process of breaking up and better document this patch, I
>have
>> looked at the syscall_numbering_64 (and have rewritten it to be more
>> complete.)
>>
>> I found that running it under strace fails, as strace (possibly
>ptrace,
>> possibly the strace binary) causes %rax = 2^32 to be clobbered to
>zero
>> already...
>>
>> More motivation, I guess.
>>
>
>Indeed.
>
>I would love to go back in time and switch to long, but there are
>plenty
>of things that use int now. I suppose we could try to make it long for
>real, but seccomp has u32 baked into its ABI.

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.