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

Andy Lutomirski luto at amacapital.net
Sat Sep 19 13:39:32 EDT 2020


> On Sep 19, 2020, at 10:14 AM, hpa at zytor.com wrote:
> 
> On September 19, 2020 9:23:22 AM PDT, Andy Lutomirski <luto at kernel.org> wrote:
>>> On Fri, Sep 18, 2020 at 10:35 PM Christoph Hellwig <hch at infradead.org>
>>> 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 at arndb.de>
>>> 
>>> 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.)


More information about the kexec mailing list