Re: [mmotm:master 187/255] arch/s390/kernel/compat_wrapper.c:205:7: error: conflicting types for 'sys_clone'

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

 



On Thu, May 14, 2015 at 10:22:13AM +0800, kbuild test robot wrote:
> >> arch/s390/kernel/compat_wrapper.c:205:7: error: conflicting types for 'sys_clone'
>     COMPAT_SYSCALL_WRAP5(clone, unsigned long, newsp, unsigned long, clone_flags, int __user *, parent_tidptr, int __user *, child_tidptr, int, tls_val);
>           ^
>    In file included from arch/s390/kernel/compat_wrapper.c:7:0:
>    include/linux/syscalls.h:837:7: note: previous declaration of 'sys_clone' was here
>     asmlinkage long sys_clone(unsigned long, unsigned long, int __user *,
>           ^
> 
> vim +/sys_clone +205 arch/s390/kernel/compat_wrapper.c
> 
> 7f6afe87a arch/s390/kernel/compat_wrap.c Heiko Carstens 2014-03-01  199  COMPAT_SYSCALL_WRAP2(pipe2, int __user *, fildes, int, flags);
> 7f6afe87a arch/s390/kernel/compat_wrap.c Heiko Carstens 2014-03-01  200  COMPAT_SYSCALL_WRAP3(dup3, unsigned int, oldfd, unsigned int, newfd, int, flags);
> 7f6afe87a arch/s390/kernel/compat_wrap.c Heiko Carstens 2014-03-01  201  COMPAT_SYSCALL_WRAP1(epoll_create1, int, flags);
> 7f6afe87a arch/s390/kernel/compat_wrap.c Heiko Carstens 2014-03-01  202  COMPAT_SYSCALL_WRAP2(tkill, int, pid, int, sig);
> 7f6afe87a arch/s390/kernel/compat_wrap.c Heiko Carstens 2014-03-01  203  COMPAT_SYSCALL_WRAP3(tgkill, int, tgid, int, pid, int, sig);
> ab4f8bba1 arch/s390/kernel/compat_wrap.c Heiko Carstens 2014-03-01  204  COMPAT_SYSCALL_WRAP5(perf_event_open, struct perf_event_attr __user *, attr_uptr, pid_t, pid, int, cpu, int, group_fd, unsigned long, flags);
> ab4f8bba1 arch/s390/kernel/compat_wrap.c Heiko Carstens 2014-03-01 @205  COMPAT_SYSCALL_WRAP5(clone, unsigned long, newsp, unsigned long, clone_flags, int __user *, parent_tidptr, int __user *, child_tidptr, int, tls_val);
> 00fcb1494 arch/s390/kernel/compat_wrap.c Heiko Carstens 2014-03-01  206  COMPAT_SYSCALL_WRAP2(fanotify_init, unsigned int, flags, unsigned int, event_f_flags);
> 00fcb1494 arch/s390/kernel/compat_wrap.c Heiko Carstens 2014-03-01  207  COMPAT_SYSCALL_WRAP4(prlimit64, pid_t, pid, unsigned int, resource, const struct rlimit64 __user *, new_rlim, struct rlimit64 __user *, old_rlim);
> 00fcb1494 arch/s390/kernel/compat_wrap.c Heiko Carstens 2014-03-01  208  COMPAT_SYSCALL_WRAP5(name_to_handle_at, int, dfd, const char __user *, name, struct file_handle __user *, handle, int __user *, mnt_id, int, flag);

I had no idea s390 had duplicate prototypes for syscalls.  That's all
kinds of awful.  Obvious incremental patch for -mm:

----- 8< -----
>From 3a0887f5e7cb787d0fe558de3aaa514dcb8fcd8d Mon Sep 17 00:00:00 2001
From: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
Date: Wed, 13 May 2015 21:17:09 -0700
Subject: [PATCH] Fix "clone: Support passing tls argument via C rather than
 pt_regs magic" for s390

s390 has duplicate syscall prototypes; change the type of tls to match
the change to sys_clone.

Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
---
 arch/s390/kernel/compat_wrapper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/s390/kernel/compat_wrapper.c b/arch/s390/kernel/compat_wrapper.c
index d7fa2f0..f8498dd 100644
--- a/arch/s390/kernel/compat_wrapper.c
+++ b/arch/s390/kernel/compat_wrapper.c
@@ -202,7 +202,7 @@ COMPAT_SYSCALL_WRAP1(epoll_create1, int, flags);
 COMPAT_SYSCALL_WRAP2(tkill, int, pid, int, sig);
 COMPAT_SYSCALL_WRAP3(tgkill, int, tgid, int, pid, int, sig);
 COMPAT_SYSCALL_WRAP5(perf_event_open, struct perf_event_attr __user *, attr_uptr, pid_t, pid, int, cpu, int, group_fd, unsigned long, flags);
-COMPAT_SYSCALL_WRAP5(clone, unsigned long, newsp, unsigned long, clone_flags, int __user *, parent_tidptr, int __user *, child_tidptr, int, tls_val);
+COMPAT_SYSCALL_WRAP5(clone, unsigned long, newsp, unsigned long, clone_flags, int __user *, parent_tidptr, int __user *, child_tidptr, unsigned long, tls);
 COMPAT_SYSCALL_WRAP2(fanotify_init, unsigned int, flags, unsigned int, event_f_flags);
 COMPAT_SYSCALL_WRAP4(prlimit64, pid_t, pid, unsigned int, resource, const struct rlimit64 __user *, new_rlim, struct rlimit64 __user *, old_rlim);
 COMPAT_SYSCALL_WRAP5(name_to_handle_at, int, dfd, const char __user *, name, struct file_handle __user *, handle, int __user *, mnt_id, int, flag);
-- 
2.1.4

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]