Re: [PATCH 1/4] x86: add __X32_COND_SYSCALL() macro

From: Andy Lutomirski
Date: Sat Sep 19 2020 - 13:39:39 EST



> On Sep 19, 2020, at 10:14 AM, hpa@xxxxxxxxx wrote:
>
> On September 19, 2020 9:23:22 AM PDT, Andy Lutomirski <luto@xxxxxxxxxx> wrote:
>>> On Fri, Sep 18, 2020 at 10:35 PM Christoph Hellwig <hch@xxxxxxxxxxxxx>
>>> wrote:
>>>
>>> On Fri, Sep 18, 2020 at 03:24:36PM +0200, Arnd Bergmann wrote:
>>>> sys_move_pages() is an optional syscall, and once we remove
>>>> the compat version of it in favor of the native one with an
>>>> in_compat_syscall() check, the x32 syscall table refers to
>>>> a __x32_sys_move_pages symbol that may not exist when the
>>>> syscall is disabled.
>>>>
>>>> Change the COND_SYSCALL() definition on x86 to also include
>>>> the redirection for x32.
>>>>
>>>> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>>>
>>> Adding the x86 maintainers and Brian Gerst. Brian proposed another
>>> problem to the mess that most of the compat syscall handlers used by
>>> x32 here:
>>>
>>> https://lkml.org/lkml/2020/6/16/664
>>>
>>> hpa didn't particularly like it, but with your and my pending series
>>> we'll soon use more native than compat syscalls for x32, so something
>>> will need to change..
>>
>> I'm fine with either solution.
>
> My main objection was naming. x64 is a widely used synonym for x86-64, and so that is confusing.
>
>

The way I deal with the syscall wrappers is that I assume the naming makes no sense whatsoever, and I go from there. With this perspective, the patches are neither an improvement nor a worsening of the current situation.

(Similarly, the last column of the tables is useless garbage. My last attempt to fix that stalled.)