[lkml]   [2019]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH 1/4] x86/syscalls: Use the compat versions of rt_sigsuspend() and rt_sigprocmask()
    I'm working on some code that detects at build time if there's a
    COMPAT_SYSCALL_DEFINE() that is not referenced in the x86 syscall
    tables. It catches three offenders: rt_sigsuspend(),
    rt_sigprocmask(), and sendfile64().

    For rt_sigsuspend() and rt_sigprocmask(), the only potential
    difference between the native and compat versions is that the compat
    version converts the sigset_t, but, on little endian architectures,
    the conversion is a no-op. This is why they both currently work on

    To make the code more consistent, and to make my upcoming patches
    work, this patch rewires x86 to use the compat vesions.

    sendfile64() is more complicated, and I'll address it separately.

    Signed-off-by: Andy Lutomirski <>
    arch/x86/entry/syscalls/syscall_32.tbl | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
    index ad968b7bac72..8e82e0270b24 100644
    --- a/arch/x86/entry/syscalls/syscall_32.tbl
    +++ b/arch/x86/entry/syscalls/syscall_32.tbl
    @@ -186,11 +186,11 @@
    172 i386 prctl sys_prctl __ia32_sys_prctl
    173 i386 rt_sigreturn sys_rt_sigreturn sys32_rt_sigreturn
    174 i386 rt_sigaction sys_rt_sigaction __ia32_compat_sys_rt_sigaction
    -175 i386 rt_sigprocmask sys_rt_sigprocmask __ia32_sys_rt_sigprocmask
    +175 i386 rt_sigprocmask sys_rt_sigprocmask __ia32_compat_sys_rt_sigprocmask
    176 i386 rt_sigpending sys_rt_sigpending __ia32_compat_sys_rt_sigpending
    177 i386 rt_sigtimedwait sys_rt_sigtimedwait_time32 __ia32_compat_sys_rt_sigtimedwait_time32
    178 i386 rt_sigqueueinfo sys_rt_sigqueueinfo __ia32_compat_sys_rt_sigqueueinfo
    -179 i386 rt_sigsuspend sys_rt_sigsuspend __ia32_sys_rt_sigsuspend
    +179 i386 rt_sigsuspend sys_rt_sigsuspend __ia32_compat_sys_rt_sigsuspend
    180 i386 pread64 sys_pread64 __ia32_compat_sys_x86_pread
    181 i386 pwrite64 sys_pwrite64 __ia32_compat_sys_x86_pwrite
    182 i386 chown sys_chown16 __ia32_sys_chown16
     \ /
      Last update: 2019-07-03 22:35    [W:14.860 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site