Re: [PATCH v2] signal: add procfd_signal() syscall

From: Christian Brauner
Date: Thu Nov 29 2018 - 14:17:08 EST


On November 30, 2018 5:54:18 AM GMT+13:00, Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
>
>
>> On Nov 29, 2018, at 4:28 AM, Florian Weimer <fweimer@xxxxxxxxxx>
>wrote:
>>
>> Disclaimer: I'm looking at this patch because Christian requested it.
>> I'm not a kernel developer.
>>
>> * Christian Brauner:
>>
>>> diff --git a/arch/x86/entry/syscalls/syscall_32.tbl
>b/arch/x86/entry/syscalls/syscall_32.tbl
>>> index 3cf7b533b3d1..3f27ffd8ae87 100644
>>> --- a/arch/x86/entry/syscalls/syscall_32.tbl
>>> +++ b/arch/x86/entry/syscalls/syscall_32.tbl
>>> @@ -398,3 +398,4 @@
>>> 384 i386 arch_prctl sys_arch_prctl
>__ia32_compat_sys_arch_prctl
>>> 385 i386 io_pgetevents sys_io_pgetevents
>__ia32_compat_sys_io_pgetevents
>>> 386 i386 rseq sys_rseq __ia32_sys_rseq
>>> +387 i386 procfd_signal sys_procfd_signal
>__ia32_compat_sys_procfd_signal
>>> diff --git a/arch/x86/entry/syscalls/syscall_64.tbl
>b/arch/x86/entry/syscalls/syscall_64.tbl
>>> index f0b1709a5ffb..8a30cde82450 100644
>>> --- a/arch/x86/entry/syscalls/syscall_64.tbl
>>> +++ b/arch/x86/entry/syscalls/syscall_64.tbl
>>> @@ -343,6 +343,7 @@
>>> 332 common statx __x64_sys_statx
>>> 333 common io_pgetevents __x64_sys_io_pgetevents
>>> 334 common rseq __x64_sys_rseq
>>> +335 64 procfd_signal __x64_sys_procfd_signal
>>>
>>> #
>>> # x32-specific system call numbers start at 512 to avoid cache
>impact
>>> @@ -386,3 +387,4 @@
>>> 545 x32 execveat __x32_compat_sys_execveat/ptregs
>>> 546 x32 preadv2 __x32_compat_sys_preadv64v2
>>> 547 x32 pwritev2 __x32_compat_sys_pwritev64v2
>>> +548 x32 procfd_signal __x32_compat_sys_procfd_signal
>>
>> Is there a reason why these numbers have to be different?
>>
>> (See the recent discussion with Andy Lutomirski.)
>
>Hah, I missed this part of the patch. Letâs not add new x32 syscall
>numbers.
>
>Also, can we perhaps rework this a bit to get rid of the compat entry
>point? The easier way would be to check in_compat_syscall(). The nicer
>way IMO would be to use the 64-bit structure for 32-bit as well.

Do you have a syscall which set precedence/did this before I could look at?
Just if you happen to remember one.
Fwiw, I followed the other signal syscalls.
They all introduce compat syscalls.