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>