diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/s390/kernel/compat_wrap.c | 10 | ||||
-rw-r--r-- | arch/s390/kernel/compat_wrapper.S | 55 | ||||
-rw-r--r-- | arch/s390/kernel/syscalls.S | 20 |
3 files changed, 20 insertions, 65 deletions
diff --git a/arch/s390/kernel/compat_wrap.c b/arch/s390/kernel/compat_wrap.c index 93f13f2350d4..ac26ee715553 100644 --- a/arch/s390/kernel/compat_wrap.c +++ b/arch/s390/kernel/compat_wrap.c | |||
@@ -43,3 +43,13 @@ COMPAT_SYSCALL_WRAP1(brk, compat_ulong_t, brk); | |||
43 | COMPAT_SYSCALL_WRAP2(signal, int, sig, __sighandler_t, handler); | 43 | COMPAT_SYSCALL_WRAP2(signal, int, sig, __sighandler_t, handler); |
44 | COMPAT_SYSCALL_WRAP1(acct, const char __user *, name); | 44 | COMPAT_SYSCALL_WRAP1(acct, const char __user *, name); |
45 | COMPAT_SYSCALL_WRAP2(umount, char __user *, name, int, flags); | 45 | COMPAT_SYSCALL_WRAP2(umount, char __user *, name, int, flags); |
46 | COMPAT_SYSCALL_WRAP2(setpgid, compat_pid_t, pid, compat_pid_t, pgid); | ||
47 | COMPAT_SYSCALL_WRAP1(umask, int, mask); | ||
48 | COMPAT_SYSCALL_WRAP1(chroot, const char __user *, filename); | ||
49 | COMPAT_SYSCALL_WRAP2(dup2, unsigned int, oldfd, unsigned int, newfd); | ||
50 | COMPAT_SYSCALL_WRAP3(sigsuspend, int, unused1, int, unused2, compat_old_sigset_t, mask); | ||
51 | COMPAT_SYSCALL_WRAP2(sethostname, char __user *, name, int, len); | ||
52 | COMPAT_SYSCALL_WRAP2(symlink, const char __user *, old, const char __user *, new); | ||
53 | COMPAT_SYSCALL_WRAP3(readlink, const char __user *, path, char __user *, buf, int, bufsiz); | ||
54 | COMPAT_SYSCALL_WRAP1(uselib, const char __user *, library); | ||
55 | COMPAT_SYSCALL_WRAP2(swapon, const char __user *, specialfile, int, swap_flags); | ||
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index e1b9d4ab0796..359751108b8b 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S | |||
@@ -50,50 +50,15 @@ ENTRY(compat_sys_fcntl_wrapper) | |||
50 | llgfr %r4,%r4 # unsigned long | 50 | llgfr %r4,%r4 # unsigned long |
51 | jg compat_sys_fcntl # branch to system call | 51 | jg compat_sys_fcntl # branch to system call |
52 | 52 | ||
53 | ENTRY(sys32_setpgid_wrapper) | ||
54 | lgfr %r2,%r2 # pid_t | ||
55 | lgfr %r3,%r3 # pid_t | ||
56 | jg sys_setpgid # branch to system call | ||
57 | |||
58 | ENTRY(sys32_umask_wrapper) | ||
59 | lgfr %r2,%r2 # int | ||
60 | jg sys_umask # branch to system call | ||
61 | |||
62 | ENTRY(sys32_chroot_wrapper) | ||
63 | llgtr %r2,%r2 # char * | ||
64 | jg sys_chroot # branch to system call | ||
65 | |||
66 | ENTRY(sys32_ustat_wrapper) | 53 | ENTRY(sys32_ustat_wrapper) |
67 | llgfr %r2,%r2 # dev_t | 54 | llgfr %r2,%r2 # dev_t |
68 | llgtr %r3,%r3 # struct ustat * | 55 | llgtr %r3,%r3 # struct ustat * |
69 | jg compat_sys_ustat | 56 | jg compat_sys_ustat |
70 | 57 | ||
71 | ENTRY(sys32_dup2_wrapper) | ||
72 | llgfr %r2,%r2 # unsigned int | ||
73 | llgfr %r3,%r3 # unsigned int | ||
74 | jg sys_dup2 # branch to system call | ||
75 | |||
76 | #sys32_getppid_wrapper # void | ||
77 | |||
78 | #sys32_getpgrp_wrapper # void | ||
79 | |||
80 | #sys32_setsid_wrapper # void | ||
81 | |||
82 | ENTRY(sys_sigsuspend_wrapper) | ||
83 | lgfr %r2,%r2 # int | ||
84 | lgfr %r3,%r3 # int | ||
85 | llgfr %r4,%r4 # old_sigset_t | ||
86 | jg sys_sigsuspend | ||
87 | |||
88 | ENTRY(compat_sys_sigpending_wrapper) | 58 | ENTRY(compat_sys_sigpending_wrapper) |
89 | llgtr %r2,%r2 # compat_old_sigset_t * | 59 | llgtr %r2,%r2 # compat_old_sigset_t * |
90 | jg compat_sys_sigpending # branch to system call | 60 | jg compat_sys_sigpending # branch to system call |
91 | 61 | ||
92 | ENTRY(sys32_sethostname_wrapper) | ||
93 | llgtr %r2,%r2 # char * | ||
94 | lgfr %r3,%r3 # int | ||
95 | jg sys_sethostname # branch to system call | ||
96 | |||
97 | ENTRY(compat_sys_setrlimit_wrapper) | 62 | ENTRY(compat_sys_setrlimit_wrapper) |
98 | llgfr %r2,%r2 # unsigned int | 63 | llgfr %r2,%r2 # unsigned int |
99 | llgtr %r3,%r3 # struct rlimit_emu31 * | 64 | llgtr %r3,%r3 # struct rlimit_emu31 * |
@@ -119,26 +84,6 @@ ENTRY(compat_sys_settimeofday_wrapper) | |||
119 | llgtr %r3,%r3 # struct timezone * | 84 | llgtr %r3,%r3 # struct timezone * |
120 | jg compat_sys_settimeofday # branch to system call | 85 | jg compat_sys_settimeofday # branch to system call |
121 | 86 | ||
122 | ENTRY(sys32_symlink_wrapper) | ||
123 | llgtr %r2,%r2 # const char * | ||
124 | llgtr %r3,%r3 # const char * | ||
125 | jg sys_symlink # branch to system call | ||
126 | |||
127 | ENTRY(sys32_readlink_wrapper) | ||
128 | llgtr %r2,%r2 # const char * | ||
129 | llgtr %r3,%r3 # char * | ||
130 | lgfr %r4,%r4 # int | ||
131 | jg sys_readlink # branch to system call | ||
132 | |||
133 | ENTRY(sys32_uselib_wrapper) | ||
134 | llgtr %r2,%r2 # const char * | ||
135 | jg sys_uselib # branch to system call | ||
136 | |||
137 | ENTRY(sys32_swapon_wrapper) | ||
138 | llgtr %r2,%r2 # const char * | ||
139 | lgfr %r3,%r3 # int | ||
140 | jg sys_swapon # branch to system call | ||
141 | |||
142 | ENTRY(sys32_reboot_wrapper) | 87 | ENTRY(sys32_reboot_wrapper) |
143 | lgfr %r2,%r2 # int | 88 | lgfr %r2,%r2 # int |
144 | lgfr %r3,%r3 # int | 89 | lgfr %r3,%r3 # int |
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S index da6bffd5c473..5bc24d9167dc 100644 --- a/arch/s390/kernel/syscalls.S +++ b/arch/s390/kernel/syscalls.S | |||
@@ -65,13 +65,13 @@ NI_SYSCALL /* old lock syscall */ | |||
65 | SYSCALL(sys_ioctl,sys_ioctl,compat_sys_ioctl_wrapper) | 65 | SYSCALL(sys_ioctl,sys_ioctl,compat_sys_ioctl_wrapper) |
66 | SYSCALL(sys_fcntl,sys_fcntl,compat_sys_fcntl_wrapper) /* 55 */ | 66 | SYSCALL(sys_fcntl,sys_fcntl,compat_sys_fcntl_wrapper) /* 55 */ |
67 | NI_SYSCALL /* intel mpx syscall */ | 67 | NI_SYSCALL /* intel mpx syscall */ |
68 | SYSCALL(sys_setpgid,sys_setpgid,sys32_setpgid_wrapper) | 68 | SYSCALL(sys_setpgid,sys_setpgid,compat_sys_setpgid) |
69 | NI_SYSCALL /* old ulimit syscall */ | 69 | NI_SYSCALL /* old ulimit syscall */ |
70 | NI_SYSCALL /* old uname syscall */ | 70 | NI_SYSCALL /* old uname syscall */ |
71 | SYSCALL(sys_umask,sys_umask,sys32_umask_wrapper) /* 60 */ | 71 | SYSCALL(sys_umask,sys_umask,compat_sys_umask) /* 60 */ |
72 | SYSCALL(sys_chroot,sys_chroot,sys32_chroot_wrapper) | 72 | SYSCALL(sys_chroot,sys_chroot,compat_sys_chroot) |
73 | SYSCALL(sys_ustat,sys_ustat,sys32_ustat_wrapper) | 73 | SYSCALL(sys_ustat,sys_ustat,sys32_ustat_wrapper) |
74 | SYSCALL(sys_dup2,sys_dup2,sys32_dup2_wrapper) | 74 | SYSCALL(sys_dup2,sys_dup2,compat_sys_dup2) |
75 | SYSCALL(sys_getppid,sys_getppid,sys_getppid) | 75 | SYSCALL(sys_getppid,sys_getppid,sys_getppid) |
76 | SYSCALL(sys_getpgrp,sys_getpgrp,sys_getpgrp) /* 65 */ | 76 | SYSCALL(sys_getpgrp,sys_getpgrp,sys_getpgrp) /* 65 */ |
77 | SYSCALL(sys_setsid,sys_setsid,sys_setsid) | 77 | SYSCALL(sys_setsid,sys_setsid,sys_setsid) |
@@ -80,9 +80,9 @@ NI_SYSCALL /* old sgetmask syscall*/ | |||
80 | NI_SYSCALL /* old ssetmask syscall*/ | 80 | NI_SYSCALL /* old ssetmask syscall*/ |
81 | SYSCALL(sys_setreuid16,sys_ni_syscall,compat_sys_s390_setreuid16) /* old setreuid16 syscall */ | 81 | SYSCALL(sys_setreuid16,sys_ni_syscall,compat_sys_s390_setreuid16) /* old setreuid16 syscall */ |
82 | SYSCALL(sys_setregid16,sys_ni_syscall,compat_sys_s390_setregid16) /* old setregid16 syscall */ | 82 | SYSCALL(sys_setregid16,sys_ni_syscall,compat_sys_s390_setregid16) /* old setregid16 syscall */ |
83 | SYSCALL(sys_sigsuspend,sys_sigsuspend,sys_sigsuspend_wrapper) | 83 | SYSCALL(sys_sigsuspend,sys_sigsuspend,compat_sys_sigsuspend) |
84 | SYSCALL(sys_sigpending,sys_sigpending,compat_sys_sigpending_wrapper) | 84 | SYSCALL(sys_sigpending,sys_sigpending,compat_sys_sigpending_wrapper) |
85 | SYSCALL(sys_sethostname,sys_sethostname,sys32_sethostname_wrapper) | 85 | SYSCALL(sys_sethostname,sys_sethostname,compat_sys_sethostname) |
86 | SYSCALL(sys_setrlimit,sys_setrlimit,compat_sys_setrlimit_wrapper) /* 75 */ | 86 | SYSCALL(sys_setrlimit,sys_setrlimit,compat_sys_setrlimit_wrapper) /* 75 */ |
87 | SYSCALL(sys_old_getrlimit,sys_getrlimit,compat_sys_old_getrlimit_wrapper) | 87 | SYSCALL(sys_old_getrlimit,sys_getrlimit,compat_sys_old_getrlimit_wrapper) |
88 | SYSCALL(sys_getrusage,sys_getrusage,compat_sys_getrusage) | 88 | SYSCALL(sys_getrusage,sys_getrusage,compat_sys_getrusage) |
@@ -91,11 +91,11 @@ SYSCALL(sys_settimeofday,sys_settimeofday,compat_sys_settimeofday_wrapper) | |||
91 | SYSCALL(sys_getgroups16,sys_ni_syscall,compat_sys_s390_getgroups16) /* 80 old getgroups16 syscall */ | 91 | SYSCALL(sys_getgroups16,sys_ni_syscall,compat_sys_s390_getgroups16) /* 80 old getgroups16 syscall */ |
92 | SYSCALL(sys_setgroups16,sys_ni_syscall,compat_sys_s390_setgroups16) /* old setgroups16 syscall */ | 92 | SYSCALL(sys_setgroups16,sys_ni_syscall,compat_sys_s390_setgroups16) /* old setgroups16 syscall */ |
93 | NI_SYSCALL /* old select syscall */ | 93 | NI_SYSCALL /* old select syscall */ |
94 | SYSCALL(sys_symlink,sys_symlink,sys32_symlink_wrapper) | 94 | SYSCALL(sys_symlink,sys_symlink,compat_sys_symlink) |
95 | NI_SYSCALL /* old lstat syscall */ | 95 | NI_SYSCALL /* old lstat syscall */ |
96 | SYSCALL(sys_readlink,sys_readlink,sys32_readlink_wrapper) /* 85 */ | 96 | SYSCALL(sys_readlink,sys_readlink,compat_sys_readlink) /* 85 */ |
97 | SYSCALL(sys_uselib,sys_uselib,sys32_uselib_wrapper) | 97 | SYSCALL(sys_uselib,sys_uselib,compat_sys_uselib) |
98 | SYSCALL(sys_swapon,sys_swapon,sys32_swapon_wrapper) | 98 | SYSCALL(sys_swapon,sys_swapon,compat_sys_swapon) |
99 | SYSCALL(sys_reboot,sys_reboot,sys32_reboot_wrapper) | 99 | SYSCALL(sys_reboot,sys_reboot,sys32_reboot_wrapper) |
100 | SYSCALL(sys_ni_syscall,sys_ni_syscall,old32_readdir_wrapper) /* old readdir syscall */ | 100 | SYSCALL(sys_ni_syscall,sys_ni_syscall,old32_readdir_wrapper) /* old readdir syscall */ |
101 | SYSCALL(sys_old_mmap,sys_old_mmap,compat_sys_s390_old_mmap) /* 90 */ | 101 | SYSCALL(sys_old_mmap,sys_old_mmap,compat_sys_s390_old_mmap) /* 90 */ |