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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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.)



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux