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

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 <l...@kernel.org>
---
 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 3cf7b533b3d1..8f6b771606e6 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             
__ia32_compat_sys_rt_sigtimedwait
 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
-- 
2.17.2

Reply via email to