]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - arch/s390/kernel/compat_wrap.c
s390/compat: convert system call wrappers to C part 04
[mirror_ubuntu-jammy-kernel.git] / arch / s390 / kernel / compat_wrap.c
CommitLineData
b07edab2
HC
1#include <linux/syscalls.h>
2#include <linux/compat.h>
3
4#define COMPAT_SYSCALL_WRAP1(name, ...) \
5 COMPAT_SYSCALL_WRAPx(1, _##name, __VA_ARGS__)
6#define COMPAT_SYSCALL_WRAP2(name, ...) \
7 COMPAT_SYSCALL_WRAPx(2, _##name, __VA_ARGS__)
8#define COMPAT_SYSCALL_WRAP3(name, ...) \
9 COMPAT_SYSCALL_WRAPx(3, _##name, __VA_ARGS__)
10#define COMPAT_SYSCALL_WRAP4(name, ...) \
11 COMPAT_SYSCALL_WRAPx(4, _##name, __VA_ARGS__)
12#define COMPAT_SYSCALL_WRAP5(name, ...) \
13 COMPAT_SYSCALL_WRAPx(5, _##name, __VA_ARGS__)
14#define COMPAT_SYSCALL_WRAP6(name, ...) \
15 COMPAT_SYSCALL_WRAPx(6, _##name, __VA_ARGS__)
16
17#define COMPAT_SYSCALL_WRAPx(x, name, ...) \
18 asmlinkage long compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \
19 asmlinkage long compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
20 { \
21 return sys##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \
22 }
23
24COMPAT_SYSCALL_WRAP1(exit, int, error_code);
25COMPAT_SYSCALL_WRAP1(close, unsigned int, fd);
26COMPAT_SYSCALL_WRAP2(creat, const char __user *, pathname, umode_t, mode);
27COMPAT_SYSCALL_WRAP2(link, const char __user *, oldname, const char __user *, newname);
28COMPAT_SYSCALL_WRAP1(unlink, const char __user *, pathname);
29COMPAT_SYSCALL_WRAP1(chdir, const char __user *, filename);
30COMPAT_SYSCALL_WRAP3(mknod, const char __user *, filename, umode_t, mode, unsigned, dev);
31COMPAT_SYSCALL_WRAP2(chmod, const char __user *, filename, umode_t, mode);
32COMPAT_SYSCALL_WRAP1(oldumount, char __user *, name);
33COMPAT_SYSCALL_WRAP1(alarm, unsigned int, seconds);
34COMPAT_SYSCALL_WRAP2(access, const char __user *, filename, int, mode);
35COMPAT_SYSCALL_WRAP1(nice, int, increment);
473a0657
HC
36COMPAT_SYSCALL_WRAP2(kill, int, pid, int, sig);
37COMPAT_SYSCALL_WRAP2(rename, const char __user *, oldname, const char __user *, newname);
38COMPAT_SYSCALL_WRAP2(mkdir, const char __user *, pathname, umode_t, mode);
39COMPAT_SYSCALL_WRAP1(rmdir, const char __user *, pathname);
40COMPAT_SYSCALL_WRAP1(dup, unsigned int, fildes);
41COMPAT_SYSCALL_WRAP1(pipe, int __user *, fildes);
42COMPAT_SYSCALL_WRAP1(brk, compat_ulong_t, brk);
43COMPAT_SYSCALL_WRAP2(signal, int, sig, __sighandler_t, handler);
44COMPAT_SYSCALL_WRAP1(acct, const char __user *, name);
45COMPAT_SYSCALL_WRAP2(umount, char __user *, name, int, flags);
be06fbf8
HC
46COMPAT_SYSCALL_WRAP2(setpgid, compat_pid_t, pid, compat_pid_t, pgid);
47COMPAT_SYSCALL_WRAP1(umask, int, mask);
48COMPAT_SYSCALL_WRAP1(chroot, const char __user *, filename);
49COMPAT_SYSCALL_WRAP2(dup2, unsigned int, oldfd, unsigned int, newfd);
50COMPAT_SYSCALL_WRAP3(sigsuspend, int, unused1, int, unused2, compat_old_sigset_t, mask);
51COMPAT_SYSCALL_WRAP2(sethostname, char __user *, name, int, len);
52COMPAT_SYSCALL_WRAP2(symlink, const char __user *, old, const char __user *, new);
53COMPAT_SYSCALL_WRAP3(readlink, const char __user *, path, char __user *, buf, int, bufsiz);
54COMPAT_SYSCALL_WRAP1(uselib, const char __user *, library);
55COMPAT_SYSCALL_WRAP2(swapon, const char __user *, specialfile, int, swap_flags);
c355ce18
HC
56COMPAT_SYSCALL_WRAP4(reboot, int, magic1, int, magic2, unsigned int, cmd, void __user *, arg);
57COMPAT_SYSCALL_WRAP2(munmap, compat_ulong_t, addr, compat_size_t, len);
58COMPAT_SYSCALL_WRAP2(fchmod, unsigned int, fd, umode_t, mode);
59COMPAT_SYSCALL_WRAP2(getpriority, int, which, int, who);
60COMPAT_SYSCALL_WRAP3(setpriority, int, which, int, who, int, niceval);
61COMPAT_SYSCALL_WRAP3(syslog, int, type, char __user *, buf, int, len);
62COMPAT_SYSCALL_WRAP1(swapoff, const char __user *, specialfile);
63COMPAT_SYSCALL_WRAP1(fsync, unsigned int, fd);
64COMPAT_SYSCALL_WRAP2(setdomainname, char __user *, name, int, len);
65COMPAT_SYSCALL_WRAP1(newuname, struct new_utsname __user *, name);