Commit b09a4913 authored by Stephen Rothwell's avatar Stephen Rothwell

powerpc: change sys32_ to compat_sys_

This allows us to get rid of one type of entry in systbl.S.

In passing we remove the duplicate compat_sys_getdents and
compat_sys_utimes for which there are generic versions.
Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
parent 81e7009e
...@@ -262,7 +262,7 @@ _GLOBAL(save_nvgprs) ...@@ -262,7 +262,7 @@ _GLOBAL(save_nvgprs)
*/ */
_GLOBAL(ppc32_sigsuspend) _GLOBAL(ppc32_sigsuspend)
bl .save_nvgprs bl .save_nvgprs
bl .sys32_sigsuspend bl .compat_sys_sigsuspend
b 70f b 70f
_GLOBAL(ppc64_rt_sigsuspend) _GLOBAL(ppc64_rt_sigsuspend)
...@@ -272,7 +272,7 @@ _GLOBAL(ppc64_rt_sigsuspend) ...@@ -272,7 +272,7 @@ _GLOBAL(ppc64_rt_sigsuspend)
_GLOBAL(ppc32_rt_sigsuspend) _GLOBAL(ppc32_rt_sigsuspend)
bl .save_nvgprs bl .save_nvgprs
bl .sys32_rt_sigsuspend bl .compat_sys_rt_sigsuspend
70: cmpdi 0,r3,0 70: cmpdi 0,r3,0
/* If it returned an error, we need to return via syscall_exit to set /* If it returned an error, we need to return via syscall_exit to set
the SO bit in cr0 and potentially stop for ptrace. */ the SO bit in cr0 and potentially stop for ptrace. */
...@@ -307,7 +307,7 @@ _GLOBAL(ppc_clone) ...@@ -307,7 +307,7 @@ _GLOBAL(ppc_clone)
_GLOBAL(ppc32_swapcontext) _GLOBAL(ppc32_swapcontext)
bl .save_nvgprs bl .save_nvgprs
bl .sys32_swapcontext bl .compat_sys_swapcontext
b 80f b 80f
_GLOBAL(ppc64_swapcontext) _GLOBAL(ppc64_swapcontext)
...@@ -316,11 +316,11 @@ _GLOBAL(ppc64_swapcontext) ...@@ -316,11 +316,11 @@ _GLOBAL(ppc64_swapcontext)
b 80f b 80f
_GLOBAL(ppc32_sigreturn) _GLOBAL(ppc32_sigreturn)
bl .sys32_sigreturn bl .compat_sys_sigreturn
b 80f b 80f
_GLOBAL(ppc32_rt_sigreturn) _GLOBAL(ppc32_rt_sigreturn)
bl .sys32_rt_sigreturn bl .compat_sys_rt_sigreturn
b 80f b 80f
_GLOBAL(ppc64_rt_sigreturn) _GLOBAL(ppc64_rt_sigreturn)
......
...@@ -58,12 +58,12 @@ ...@@ -58,12 +58,12 @@
#ifdef CONFIG_PPC64 #ifdef CONFIG_PPC64
#define do_signal do_signal32 #define do_signal do_signal32
#define sys_sigsuspend sys32_sigsuspend #define sys_sigsuspend compat_sys_sigsuspend
#define sys_rt_sigsuspend sys32_rt_sigsuspend #define sys_rt_sigsuspend compat_sys_rt_sigsuspend
#define sys_rt_sigreturn sys32_rt_sigreturn #define sys_rt_sigreturn compat_sys_rt_sigreturn
#define sys_sigaction sys32_sigaction #define sys_sigaction compat_sys_sigaction
#define sys_swapcontext sys32_swapcontext #define sys_swapcontext compat_sys_swapcontext
#define sys_sigreturn sys32_sigreturn #define sys_sigreturn compat_sys_sigreturn
#define old_sigaction old_sigaction32 #define old_sigaction old_sigaction32
#define sigcontext sigcontext32 #define sigcontext sigcontext32
...@@ -540,7 +540,7 @@ static long restore_user_regs(struct pt_regs *regs, ...@@ -540,7 +540,7 @@ static long restore_user_regs(struct pt_regs *regs,
} }
#ifdef CONFIG_PPC64 #ifdef CONFIG_PPC64
long sys32_rt_sigaction(int sig, const struct sigaction32 __user *act, long compat_sys_rt_sigaction(int sig, const struct sigaction32 __user *act,
struct sigaction32 __user *oact, size_t sigsetsize) struct sigaction32 __user *oact, size_t sigsetsize)
{ {
struct k_sigaction new_ka, old_ka; struct k_sigaction new_ka, old_ka;
...@@ -577,7 +577,7 @@ long sys32_rt_sigaction(int sig, const struct sigaction32 __user *act, ...@@ -577,7 +577,7 @@ long sys32_rt_sigaction(int sig, const struct sigaction32 __user *act,
* of a signed int (msr in 32-bit mode) and the register representation * of a signed int (msr in 32-bit mode) and the register representation
* of a signed int (msr in 64-bit mode) is performed. * of a signed int (msr in 64-bit mode) is performed.
*/ */
long sys32_rt_sigprocmask(u32 how, compat_sigset_t __user *set, long compat_sys_rt_sigprocmask(u32 how, compat_sigset_t __user *set,
compat_sigset_t __user *oset, size_t sigsetsize) compat_sigset_t __user *oset, size_t sigsetsize)
{ {
sigset_t s; sigset_t s;
...@@ -605,7 +605,7 @@ long sys32_rt_sigprocmask(u32 how, compat_sigset_t __user *set, ...@@ -605,7 +605,7 @@ long sys32_rt_sigprocmask(u32 how, compat_sigset_t __user *set,
return 0; return 0;
} }
long sys32_rt_sigpending(compat_sigset_t __user *set, compat_size_t sigsetsize) long compat_sys_rt_sigpending(compat_sigset_t __user *set, compat_size_t sigsetsize)
{ {
sigset_t s; sigset_t s;
int ret; int ret;
...@@ -687,7 +687,7 @@ int copy_siginfo_to_user32(struct compat_siginfo __user *d, siginfo_t *s) ...@@ -687,7 +687,7 @@ int copy_siginfo_to_user32(struct compat_siginfo __user *d, siginfo_t *s)
* (msr in 32-bit mode) and the register representation of a signed int * (msr in 32-bit mode) and the register representation of a signed int
* (msr in 64-bit mode) is performed. * (msr in 64-bit mode) is performed.
*/ */
long sys32_rt_sigqueueinfo(u32 pid, u32 sig, compat_siginfo_t __user *uinfo) long compat_sys_rt_sigqueueinfo(u32 pid, u32 sig, compat_siginfo_t __user *uinfo)
{ {
siginfo_t info; siginfo_t info;
int ret; int ret;
...@@ -706,10 +706,10 @@ long sys32_rt_sigqueueinfo(u32 pid, u32 sig, compat_siginfo_t __user *uinfo) ...@@ -706,10 +706,10 @@ long sys32_rt_sigqueueinfo(u32 pid, u32 sig, compat_siginfo_t __user *uinfo)
* Start Alternate signal stack support * Start Alternate signal stack support
* *
* System Calls * System Calls
* sigaltatck sys32_sigaltstack * sigaltatck compat_sys_sigaltstack
*/ */
int sys32_sigaltstack(u32 __new, u32 __old, int r5, int compat_sys_sigaltstack(u32 __new, u32 __old, int r5,
int r6, int r7, int r8, struct pt_regs *regs) int r6, int r7, int r8, struct pt_regs *regs)
{ {
stack_32_t __user * newstack = (stack_32_t __user *)(long) __new; stack_32_t __user * newstack = (stack_32_t __user *)(long) __new;
...@@ -942,11 +942,11 @@ long sys_rt_sigreturn(int r3, int r4, int r5, int r6, int r7, int r8, ...@@ -942,11 +942,11 @@ long sys_rt_sigreturn(int r3, int r4, int r5, int r6, int r7, int r8,
*/ */
#ifdef CONFIG_PPC64 #ifdef CONFIG_PPC64
/* /*
* We use the sys32_ version that does the 32/64 bits conversion * We use the compat_sys_ version that does the 32/64 bits conversion
* and takes userland pointer directly. What about error checking ? * and takes userland pointer directly. What about error checking ?
* nobody does any... * nobody does any...
*/ */
sys32_sigaltstack((u32)(u64)&rt_sf->uc.uc_stack, 0, 0, 0, 0, 0, regs); compat_sys_sigaltstack((u32)(u64)&rt_sf->uc.uc_stack, 0, 0, 0, 0, 0, regs);
return (int)regs->result; return (int)regs->result;
#else #else
do_sigaltstack(&rt_sf->uc.uc_stack, NULL, regs->gpr[1]); do_sigaltstack(&rt_sf->uc.uc_stack, NULL, regs->gpr[1]);
......
...@@ -113,96 +113,6 @@ out: ...@@ -113,96 +113,6 @@ out:
return error; return error;
} }
struct linux_dirent32 {
u32 d_ino;
u32 d_off;
unsigned short d_reclen;
char d_name[1];
};
struct getdents_callback32 {
struct linux_dirent32 __user * current_dir;
struct linux_dirent32 __user * previous;
int count;
int error;
};
static int filldir(void * __buf, const char * name, int namlen, off_t offset,
ino_t ino, unsigned int d_type)
{
struct linux_dirent32 __user * dirent;
struct getdents_callback32 * buf = (struct getdents_callback32 *) __buf;
int reclen = ROUND_UP(NAME_OFFSET(dirent) + namlen + 2);
buf->error = -EINVAL; /* only used if we fail.. */
if (reclen > buf->count)
return -EINVAL;
dirent = buf->previous;
if (dirent) {
if (__put_user(offset, &dirent->d_off))
goto efault;
}
dirent = buf->current_dir;
if (__put_user(ino, &dirent->d_ino))
goto efault;
if (__put_user(reclen, &dirent->d_reclen))
goto efault;
if (copy_to_user(dirent->d_name, name, namlen))
goto efault;
if (__put_user(0, dirent->d_name + namlen))
goto efault;
if (__put_user(d_type, (char __user *) dirent + reclen - 1))
goto efault;
buf->previous = dirent;
dirent = (void __user *)dirent + reclen;
buf->current_dir = dirent;
buf->count -= reclen;
return 0;
efault:
buf->error = -EFAULT;
return -EFAULT;
}
asmlinkage long sys32_getdents(unsigned int fd, struct linux_dirent32 __user *dirent,
unsigned int count)
{
struct file * file;
struct linux_dirent32 __user * lastdirent;
struct getdents_callback32 buf;
int error;
error = -EFAULT;
if (!access_ok(VERIFY_WRITE, dirent, count))
goto out;
error = -EBADF;
file = fget(fd);
if (!file)
goto out;
buf.current_dir = dirent;
buf.previous = NULL;
buf.count = count;
buf.error = 0;
error = vfs_readdir(file, (filldir_t)filldir, &buf);
if (error < 0)
goto out_putf;
error = buf.error;
lastdirent = buf.previous;
if (lastdirent) {
if (put_user(file->f_pos, &lastdirent->d_off))
error = -EFAULT;
else
error = count - buf.count;
}
out_putf:
fput(file);
out:
return error;
}
asmlinkage long ppc32_select(u32 n, compat_ulong_t __user *inp, asmlinkage long ppc32_select(u32 n, compat_ulong_t __user *inp,
compat_ulong_t __user *outp, compat_ulong_t __user *exp, compat_ulong_t __user *outp, compat_ulong_t __user *exp,
compat_uptr_t tvp_x) compat_uptr_t tvp_x)
...@@ -247,7 +157,7 @@ int cp_compat_stat(struct kstat *stat, struct compat_stat __user *statbuf) ...@@ -247,7 +157,7 @@ int cp_compat_stat(struct kstat *stat, struct compat_stat __user *statbuf)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_sysfs(u32 option, u32 arg1, u32 arg2) asmlinkage long compat_sys_sysfs(u32 option, u32 arg1, u32 arg2)
{ {
return sys_sysfs((int)option, arg1, arg2); return sys_sysfs((int)option, arg1, arg2);
} }
...@@ -269,7 +179,7 @@ struct timex32 { ...@@ -269,7 +179,7 @@ struct timex32 {
extern int do_adjtimex(struct timex *); extern int do_adjtimex(struct timex *);
extern void ppc_adjtimex(void); extern void ppc_adjtimex(void);
asmlinkage long sys32_adjtimex(struct timex32 __user *utp) asmlinkage long compat_sys_adjtimex(struct timex32 __user *utp)
{ {
struct timex txc; struct timex txc;
int ret; int ret;
...@@ -328,7 +238,7 @@ asmlinkage long sys32_adjtimex(struct timex32 __user *utp) ...@@ -328,7 +238,7 @@ asmlinkage long sys32_adjtimex(struct timex32 __user *utp)
return ret; return ret;
} }
asmlinkage long sys32_pause(void) asmlinkage long compat_sys_pause(void)
{ {
current->state = TASK_INTERRUPTIBLE; current->state = TASK_INTERRUPTIBLE;
schedule(); schedule();
...@@ -374,7 +284,7 @@ struct sysinfo32 { ...@@ -374,7 +284,7 @@ struct sysinfo32 {
char _f[20-2*sizeof(int)-sizeof(int)]; char _f[20-2*sizeof(int)-sizeof(int)];
}; };
asmlinkage long sys32_sysinfo(struct sysinfo32 __user *info) asmlinkage long compat_sys_sysinfo(struct sysinfo32 __user *info)
{ {
struct sysinfo s; struct sysinfo s;
int ret, err; int ret, err;
...@@ -431,7 +341,7 @@ asmlinkage long sys32_sysinfo(struct sysinfo32 __user *info) ...@@ -431,7 +341,7 @@ asmlinkage long sys32_sysinfo(struct sysinfo32 __user *info)
sorts of things, like timeval and itimerval. */ sorts of things, like timeval and itimerval. */
extern struct timezone sys_tz; extern struct timezone sys_tz;
asmlinkage long sys32_gettimeofday(struct compat_timeval __user *tv, struct timezone __user *tz) asmlinkage long compat_sys_gettimeofday(struct compat_timeval __user *tv, struct timezone __user *tz)
{ {
if (tv) { if (tv) {
struct timeval ktv; struct timeval ktv;
...@@ -449,7 +359,7 @@ asmlinkage long sys32_gettimeofday(struct compat_timeval __user *tv, struct time ...@@ -449,7 +359,7 @@ asmlinkage long sys32_gettimeofday(struct compat_timeval __user *tv, struct time
asmlinkage long sys32_settimeofday(struct compat_timeval __user *tv, struct timezone __user *tz) asmlinkage long compat_sys_settimeofday(struct compat_timeval __user *tv, struct timezone __user *tz)
{ {
struct timespec kts; struct timespec kts;
struct timezone ktz; struct timezone ktz;
...@@ -467,7 +377,7 @@ asmlinkage long sys32_settimeofday(struct compat_timeval __user *tv, struct time ...@@ -467,7 +377,7 @@ asmlinkage long sys32_settimeofday(struct compat_timeval __user *tv, struct time
} }
#ifdef CONFIG_SYSVIPC #ifdef CONFIG_SYSVIPC
long sys32_ipc(u32 call, u32 first, u32 second, u32 third, compat_uptr_t ptr, long compat_sys_ipc(u32 call, u32 first, u32 second, u32 third, compat_uptr_t ptr,
u32 fifth) u32 fifth)
{ {
int version; int version;
...@@ -538,7 +448,7 @@ long sys32_ipc(u32 call, u32 first, u32 second, u32 third, compat_uptr_t ptr, ...@@ -538,7 +448,7 @@ long sys32_ipc(u32 call, u32 first, u32 second, u32 third, compat_uptr_t ptr,
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_sendfile(u32 out_fd, u32 in_fd, compat_off_t __user * offset, u32 count) asmlinkage long compat_sys_sendfile(u32 out_fd, u32 in_fd, compat_off_t __user * offset, u32 count)
{ {
mm_segment_t old_fs = get_fs(); mm_segment_t old_fs = get_fs();
int ret; int ret;
...@@ -560,7 +470,7 @@ asmlinkage long sys32_sendfile(u32 out_fd, u32 in_fd, compat_off_t __user * offs ...@@ -560,7 +470,7 @@ asmlinkage long sys32_sendfile(u32 out_fd, u32 in_fd, compat_off_t __user * offs
return ret; return ret;
} }
asmlinkage int sys32_sendfile64(int out_fd, int in_fd, compat_loff_t __user *offset, s32 count) asmlinkage int compat_sys_sendfile64(int out_fd, int in_fd, compat_loff_t __user *offset, s32 count)
{ {
mm_segment_t old_fs = get_fs(); mm_segment_t old_fs = get_fs();
int ret; int ret;
...@@ -582,7 +492,7 @@ asmlinkage int sys32_sendfile64(int out_fd, int in_fd, compat_loff_t __user *off ...@@ -582,7 +492,7 @@ asmlinkage int sys32_sendfile64(int out_fd, int in_fd, compat_loff_t __user *off
return ret; return ret;
} }
long sys32_execve(unsigned long a0, unsigned long a1, unsigned long a2, long compat_sys_execve(unsigned long a0, unsigned long a1, unsigned long a2,
unsigned long a3, unsigned long a4, unsigned long a5, unsigned long a3, unsigned long a4, unsigned long a5,
struct pt_regs *regs) struct pt_regs *regs)
{ {
...@@ -614,7 +524,7 @@ out: ...@@ -614,7 +524,7 @@ out:
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_prctl(u32 option, u32 arg2, u32 arg3, u32 arg4, u32 arg5) asmlinkage long compat_sys_prctl(u32 option, u32 arg2, u32 arg3, u32 arg4, u32 arg5)
{ {
return sys_prctl((int)option, return sys_prctl((int)option,
(unsigned long) arg2, (unsigned long) arg2,
...@@ -628,7 +538,7 @@ asmlinkage long sys32_prctl(u32 option, u32 arg2, u32 arg3, u32 arg4, u32 arg5) ...@@ -628,7 +538,7 @@ asmlinkage long sys32_prctl(u32 option, u32 arg2, u32 arg3, u32 arg4, u32 arg5)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_sched_rr_get_interval(u32 pid, struct compat_timespec __user *interval) asmlinkage long compat_sys_sched_rr_get_interval(u32 pid, struct compat_timespec __user *interval)
{ {
struct timespec t; struct timespec t;
int ret; int ret;
...@@ -643,7 +553,7 @@ asmlinkage long sys32_sched_rr_get_interval(u32 pid, struct compat_timespec __us ...@@ -643,7 +553,7 @@ asmlinkage long sys32_sched_rr_get_interval(u32 pid, struct compat_timespec __us
return ret; return ret;
} }
asmlinkage int sys32_pciconfig_read(u32 bus, u32 dfn, u32 off, u32 len, u32 ubuf) asmlinkage int compat_sys_pciconfig_read(u32 bus, u32 dfn, u32 off, u32 len, u32 ubuf)
{ {
return sys_pciconfig_read((unsigned long) bus, return sys_pciconfig_read((unsigned long) bus,
(unsigned long) dfn, (unsigned long) dfn,
...@@ -652,7 +562,7 @@ asmlinkage int sys32_pciconfig_read(u32 bus, u32 dfn, u32 off, u32 len, u32 ubuf ...@@ -652,7 +562,7 @@ asmlinkage int sys32_pciconfig_read(u32 bus, u32 dfn, u32 off, u32 len, u32 ubuf
compat_ptr(ubuf)); compat_ptr(ubuf));
} }
asmlinkage int sys32_pciconfig_write(u32 bus, u32 dfn, u32 off, u32 len, u32 ubuf) asmlinkage int compat_sys_pciconfig_write(u32 bus, u32 dfn, u32 off, u32 len, u32 ubuf)
{ {
return sys_pciconfig_write((unsigned long) bus, return sys_pciconfig_write((unsigned long) bus,
(unsigned long) dfn, (unsigned long) dfn,
...@@ -661,7 +571,7 @@ asmlinkage int sys32_pciconfig_write(u32 bus, u32 dfn, u32 off, u32 len, u32 ubu ...@@ -661,7 +571,7 @@ asmlinkage int sys32_pciconfig_write(u32 bus, u32 dfn, u32 off, u32 len, u32 ubu
compat_ptr(ubuf)); compat_ptr(ubuf));
} }
asmlinkage int sys32_pciconfig_iobase(u32 which, u32 in_bus, u32 in_devfn) asmlinkage int compat_sys_pciconfig_iobase(u32 which, u32 in_bus, u32 in_devfn)
{ {
return sys_pciconfig_iobase(which, in_bus, in_devfn); return sys_pciconfig_iobase(which, in_bus, in_devfn);
} }
...@@ -672,7 +582,7 @@ asmlinkage int sys32_pciconfig_iobase(u32 which, u32 in_bus, u32 in_devfn) ...@@ -672,7 +582,7 @@ asmlinkage int sys32_pciconfig_iobase(u32 which, u32 in_bus, u32 in_devfn)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_access(const char __user * filename, u32 mode) asmlinkage long compat_sys_access(const char __user * filename, u32 mode)
{ {
return sys_access(filename, (int)mode); return sys_access(filename, (int)mode);
} }
...@@ -683,7 +593,7 @@ asmlinkage long sys32_access(const char __user * filename, u32 mode) ...@@ -683,7 +593,7 @@ asmlinkage long sys32_access(const char __user * filename, u32 mode)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_creat(const char __user * pathname, u32 mode) asmlinkage long compat_sys_creat(const char __user * pathname, u32 mode)
{ {
return sys_creat(pathname, (int)mode); return sys_creat(pathname, (int)mode);
} }
...@@ -694,7 +604,7 @@ asmlinkage long sys32_creat(const char __user * pathname, u32 mode) ...@@ -694,7 +604,7 @@ asmlinkage long sys32_creat(const char __user * pathname, u32 mode)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_waitpid(u32 pid, unsigned int __user * stat_addr, u32 options) asmlinkage long compat_sys_waitpid(u32 pid, unsigned int __user * stat_addr, u32 options)
{ {
return sys_waitpid((int)pid, stat_addr, (int)options); return sys_waitpid((int)pid, stat_addr, (int)options);
} }
...@@ -705,7 +615,7 @@ asmlinkage long sys32_waitpid(u32 pid, unsigned int __user * stat_addr, u32 opti ...@@ -705,7 +615,7 @@ asmlinkage long sys32_waitpid(u32 pid, unsigned int __user * stat_addr, u32 opti
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_getgroups(u32 gidsetsize, gid_t __user *grouplist) asmlinkage long compat_sys_getgroups(u32 gidsetsize, gid_t __user *grouplist)
{ {
return sys_getgroups((int)gidsetsize, grouplist); return sys_getgroups((int)gidsetsize, grouplist);
} }
...@@ -716,7 +626,7 @@ asmlinkage long sys32_getgroups(u32 gidsetsize, gid_t __user *grouplist) ...@@ -716,7 +626,7 @@ asmlinkage long sys32_getgroups(u32 gidsetsize, gid_t __user *grouplist)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_getpgid(u32 pid) asmlinkage long compat_sys_getpgid(u32 pid)
{ {
return sys_getpgid((int)pid); return sys_getpgid((int)pid);
} }
...@@ -728,7 +638,7 @@ asmlinkage long sys32_getpgid(u32 pid) ...@@ -728,7 +638,7 @@ asmlinkage long sys32_getpgid(u32 pid)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_getsid(u32 pid) asmlinkage long compat_sys_getsid(u32 pid)
{ {
return sys_getsid((int)pid); return sys_getsid((int)pid);
} }
...@@ -739,7 +649,7 @@ asmlinkage long sys32_getsid(u32 pid) ...@@ -739,7 +649,7 @@ asmlinkage long sys32_getsid(u32 pid)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_kill(u32 pid, u32 sig) asmlinkage long compat_sys_kill(u32 pid, u32 sig)
{ {
return sys_kill((int)pid, (int)sig); return sys_kill((int)pid, (int)sig);
} }
...@@ -750,12 +660,12 @@ asmlinkage long sys32_kill(u32 pid, u32 sig) ...@@ -750,12 +660,12 @@ asmlinkage long sys32_kill(u32 pid, u32 sig)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_mkdir(const char __user * pathname, u32 mode) asmlinkage long compat_sys_mkdir(const char __user * pathname, u32 mode)
{ {
return sys_mkdir(pathname, (int)mode); return sys_mkdir(pathname, (int)mode);
} }
long sys32_nice(u32 increment) long compat_sys_nice(u32 increment)
{ {
/* sign extend increment */ /* sign extend increment */
return sys_nice((int)increment); return sys_nice((int)increment);
...@@ -772,7 +682,7 @@ off_t ppc32_lseek(unsigned int fd, u32 offset, unsigned int origin) ...@@ -772,7 +682,7 @@ off_t ppc32_lseek(unsigned int fd, u32 offset, unsigned int origin)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_readlink(const char __user * path, char __user * buf, u32 bufsiz) asmlinkage long compat_sys_readlink(const char __user * path, char __user * buf, u32 bufsiz)
{ {
return sys_readlink(path, buf, (int)bufsiz); return sys_readlink(path, buf, (int)bufsiz);
} }
...@@ -782,7 +692,7 @@ asmlinkage long sys32_readlink(const char __user * path, char __user * buf, u32 ...@@ -782,7 +692,7 @@ asmlinkage long sys32_readlink(const char __user * path, char __user * buf, u32
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_sched_get_priority_max(u32 policy) asmlinkage long compat_sys_sched_get_priority_max(u32 policy)
{ {
return sys_sched_get_priority_max((int)policy); return sys_sched_get_priority_max((int)policy);
} }
...@@ -793,7 +703,7 @@ asmlinkage long sys32_sched_get_priority_max(u32 policy) ...@@ -793,7 +703,7 @@ asmlinkage long sys32_sched_get_priority_max(u32 policy)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_sched_get_priority_min(u32 policy) asmlinkage long compat_sys_sched_get_priority_min(u32 policy)
{ {
return sys_sched_get_priority_min((int)policy); return sys_sched_get_priority_min((int)policy);
} }
...@@ -804,7 +714,7 @@ asmlinkage long sys32_sched_get_priority_min(u32 policy) ...@@ -804,7 +714,7 @@ asmlinkage long sys32_sched_get_priority_min(u32 policy)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_sched_getparam(u32 pid, struct sched_param __user *param) asmlinkage long compat_sys_sched_getparam(u32 pid, struct sched_param __user *param)
{ {
return sys_sched_getparam((int)pid, param); return sys_sched_getparam((int)pid, param);
} }
...@@ -815,7 +725,7 @@ asmlinkage long sys32_sched_getparam(u32 pid, struct sched_param __user *param) ...@@ -815,7 +725,7 @@ asmlinkage long sys32_sched_getparam(u32 pid, struct sched_param __user *param)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_sched_getscheduler(u32 pid) asmlinkage long compat_sys_sched_getscheduler(u32 pid)
{ {
return sys_sched_getscheduler((int)pid); return sys_sched_getscheduler((int)pid);
} }
...@@ -826,7 +736,7 @@ asmlinkage long sys32_sched_getscheduler(u32 pid) ...@@ -826,7 +736,7 @@ asmlinkage long sys32_sched_getscheduler(u32 pid)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_sched_setparam(u32 pid, struct sched_param __user *param) asmlinkage long compat_sys_sched_setparam(u32 pid, struct sched_param __user *param)
{ {
return sys_sched_setparam((int)pid, param); return sys_sched_setparam((int)pid, param);
} }
...@@ -837,7 +747,7 @@ asmlinkage long sys32_sched_setparam(u32 pid, struct sched_param __user *param) ...@@ -837,7 +747,7 @@ asmlinkage long sys32_sched_setparam(u32 pid, struct sched_param __user *param)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_sched_setscheduler(u32 pid, u32 policy, struct sched_param __user *param) asmlinkage long compat_sys_sched_setscheduler(u32 pid, u32 policy, struct sched_param __user *param)
{ {
return sys_sched_setscheduler((int)pid, (int)policy, param); return sys_sched_setscheduler((int)pid, (int)policy, param);
} }
...@@ -848,7 +758,7 @@ asmlinkage long sys32_sched_setscheduler(u32 pid, u32 policy, struct sched_param ...@@ -848,7 +758,7 @@ asmlinkage long sys32_sched_setscheduler(u32 pid, u32 policy, struct sched_param
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_setdomainname(char __user *name, u32 len) asmlinkage long compat_sys_setdomainname(char __user *name, u32 len)
{ {
return sys_setdomainname(name, (int)len); return sys_setdomainname(name, (int)len);
} }
...@@ -859,13 +769,13 @@ asmlinkage long sys32_setdomainname(char __user *name, u32 len) ...@@ -859,13 +769,13 @@ asmlinkage long sys32_setdomainname(char __user *name, u32 len)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_setgroups(u32 gidsetsize, gid_t __user *grouplist) asmlinkage long compat_sys_setgroups(u32 gidsetsize, gid_t __user *grouplist)
{ {
return sys_setgroups((int)gidsetsize, grouplist); return sys_setgroups((int)gidsetsize, grouplist);
} }
asmlinkage long sys32_sethostname(char __user *name, u32 len) asmlinkage long compat_sys_sethostname(char __user *name, u32 len)
{ {
/* sign extend len */ /* sign extend len */
return sys_sethostname(name, (int)len); return sys_sethostname(name, (int)len);
...@@ -877,30 +787,30 @@ asmlinkage long sys32_sethostname(char __user *name, u32 len) ...@@ -877,30 +787,30 @@ asmlinkage long sys32_sethostname(char __user *name, u32 len)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_setpgid(u32 pid, u32 pgid) asmlinkage long compat_sys_setpgid(u32 pid, u32 pgid)
{ {
return sys_setpgid((int)pid, (int)pgid); return sys_setpgid((int)pid, (int)pgid);
} }
long sys32_getpriority(u32 which, u32 who) long compat_sys_getpriority(u32 which, u32 who)
{ {
/* sign extend which and who */ /* sign extend which and who */
return sys_getpriority((int)which, (int)who); return sys_getpriority((int)which, (int)who);
} }
long sys32_setpriority(u32 which, u32 who, u32 niceval) long compat_sys_setpriority(u32 which, u32 who, u32 niceval)
{ {
/* sign extend which, who and niceval */ /* sign extend which, who and niceval */
return sys_setpriority((int)which, (int)who, (int)niceval); return sys_setpriority((int)which, (int)who, (int)niceval);
} }
long sys32_ioprio_get(u32 which, u32 who) long compat_sys_ioprio_get(u32 which, u32 who)
{ {
/* sign extend which and who */ /* sign extend which and who */
return sys_ioprio_get((int)which, (int)who); return sys_ioprio_get((int)which, (int)who);
} }
long sys32_ioprio_set(u32 which, u32 who, u32 ioprio) long compat_sys_ioprio_set(u32 which, u32 who, u32 ioprio)
{ {
/* sign extend which, who and ioprio */ /* sign extend which, who and ioprio */
return sys_ioprio_set((int)which, (int)who, (int)ioprio); return sys_ioprio_set((int)which, (int)who, (int)ioprio);
...@@ -911,12 +821,12 @@ long sys32_ioprio_set(u32 which, u32 who, u32 ioprio) ...@@ -911,12 +821,12 @@ long sys32_ioprio_set(u32 which, u32 who, u32 ioprio)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_ssetmask(u32 newmask) asmlinkage long compat_sys_ssetmask(u32 newmask)
{ {
return sys_ssetmask((int) newmask); return sys_ssetmask((int) newmask);
} }
asmlinkage long sys32_syslog(u32 type, char __user * buf, u32 len) asmlinkage long compat_sys_syslog(u32 type, char __user * buf, u32 len)
{ {
/* sign extend len */ /* sign extend len */
return sys_syslog(type, buf, (int)len); return sys_syslog(type, buf, (int)len);
...@@ -928,7 +838,7 @@ asmlinkage long sys32_syslog(u32 type, char __user * buf, u32 len) ...@@ -928,7 +838,7 @@ asmlinkage long sys32_syslog(u32 type, char __user * buf, u32 len)
* proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode) * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
* and the register representation of a signed int (msr in 64-bit mode) is performed. * and the register representation of a signed int (msr in 64-bit mode) is performed.
*/ */
asmlinkage long sys32_umask(u32 mask) asmlinkage long compat_sys_umask(u32 mask)
{ {
return sys_umask((int)mask); return sys_umask((int)mask);
} }
...@@ -944,7 +854,7 @@ struct __sysctl_args32 { ...@@ -944,7 +854,7 @@ struct __sysctl_args32 {
u32 __unused[4]; u32 __unused[4];
}; };
asmlinkage long sys32_sysctl(struct __sysctl_args32 __user *args) asmlinkage long compat_sys_sysctl(struct __sysctl_args32 __user *args)
{ {
struct __sysctl_args32 tmp; struct __sysctl_args32 tmp;
int error; int error;
...@@ -985,7 +895,7 @@ asmlinkage long sys32_sysctl(struct __sysctl_args32 __user *args) ...@@ -985,7 +895,7 @@ asmlinkage long sys32_sysctl(struct __sysctl_args32 __user *args)
} }
#endif #endif
unsigned long sys32_mmap2(unsigned long addr, size_t len, unsigned long compat_sys_mmap2(unsigned long addr, size_t len,
unsigned long prot, unsigned long flags, unsigned long prot, unsigned long flags,
unsigned long fd, unsigned long pgoff) unsigned long fd, unsigned long pgoff)
{ {
...@@ -993,29 +903,7 @@ unsigned long sys32_mmap2(unsigned long addr, size_t len, ...@@ -993,29 +903,7 @@ unsigned long sys32_mmap2(unsigned long addr, size_t len,
return sys_mmap(addr, len, prot, flags, fd, pgoff << 12); return sys_mmap(addr, len, prot, flags, fd, pgoff << 12);
} }
int get_compat_timeval(struct timeval *tv, struct compat_timeval __user *ctv) long compat_sys_tgkill(u32 tgid, u32 pid, int sig)
{
return (!access_ok(VERIFY_READ, ctv, sizeof(*ctv)) ||
__get_user(tv->tv_sec, &ctv->tv_sec) ||
__get_user(tv->tv_usec, &ctv->tv_usec)) ? -EFAULT : 0;
}
asmlinkage long sys32_utimes(char __user *filename, struct compat_timeval __user *tvs)
{
struct timeval ktvs[2], *ptr;
ptr = NULL;
if (tvs) {
if (get_compat_timeval(&ktvs[0], &tvs[0]) ||
get_compat_timeval(&ktvs[1], &tvs[1]))
return -EFAULT;
ptr = ktvs;
}
return do_utimes(filename, ptr);
}
long sys32_tgkill(u32 tgid, u32 pid, int sig)
{ {
/* sign extend tgid, pid */ /* sign extend tgid, pid */
return sys_tgkill((int)tgid, (int)pid, sig); return sys_tgkill((int)tgid, (int)pid, sig);
...@@ -1026,30 +914,30 @@ long sys32_tgkill(u32 tgid, u32 pid, int sig) ...@@ -1026,30 +914,30 @@ long sys32_tgkill(u32 tgid, u32 pid, int sig)
* The 32 bit ABI passes long longs in an odd even register pair. * The 32 bit ABI passes long longs in an odd even register pair.
*/ */
compat_ssize_t sys32_pread64(unsigned int fd, char __user *ubuf, compat_size_t count, compat_ssize_t compat_sys_pread64(unsigned int fd, char __user *ubuf, compat_size_t count,
u32 reg6, u32 poshi, u32 poslo) u32 reg6, u32 poshi, u32 poslo)
{ {
return sys_pread64(fd, ubuf, count, ((loff_t)poshi << 32) | poslo); return sys_pread64(fd, ubuf, count, ((loff_t)poshi << 32) | poslo);
} }
compat_ssize_t sys32_pwrite64(unsigned int fd, char __user *ubuf, compat_size_t count, compat_ssize_t compat_sys_pwrite64(unsigned int fd, char __user *ubuf, compat_size_t count,
u32 reg6, u32 poshi, u32 poslo) u32 reg6, u32 poshi, u32 poslo)
{ {
return sys_pwrite64(fd, ubuf, count, ((loff_t)poshi << 32) | poslo); return sys_pwrite64(fd, ubuf, count, ((loff_t)poshi << 32) | poslo);
} }
compat_ssize_t sys32_readahead(int fd, u32 r4, u32 offhi, u32 offlo, u32 count) compat_ssize_t compat_sys_readahead(int fd, u32 r4, u32 offhi, u32 offlo, u32 count)
{ {
return sys_readahead(fd, ((loff_t)offhi << 32) | offlo, count); return sys_readahead(fd, ((loff_t)offhi << 32) | offlo, count);
} }
asmlinkage int sys32_truncate64(const char __user * path, u32 reg4, asmlinkage int compat_sys_truncate64(const char __user * path, u32 reg4,
unsigned long high, unsigned long low) unsigned long high, unsigned long low)
{ {
return sys_truncate(path, (high << 32) | low); return sys_truncate(path, (high << 32) | low);
} }
asmlinkage int sys32_ftruncate64(unsigned int fd, u32 reg4, unsigned long high, asmlinkage int compat_sys_ftruncate64(unsigned int fd, u32 reg4, unsigned long high,
unsigned long low) unsigned long low)
{ {
return sys_ftruncate(fd, (high << 32) | low); return sys_ftruncate(fd, (high << 32) | low);
...@@ -1108,7 +996,7 @@ long ppc32_timer_create(clockid_t clock, ...@@ -1108,7 +996,7 @@ long ppc32_timer_create(clockid_t clock,
return err; return err;
} }
asmlinkage long sys32_add_key(const char __user *_type, asmlinkage long compat_sys_add_key(const char __user *_type,
const char __user *_description, const char __user *_description,
const void __user *_payload, const void __user *_payload,
u32 plen, u32 plen,
...@@ -1117,7 +1005,7 @@ asmlinkage long sys32_add_key(const char __user *_type, ...@@ -1117,7 +1005,7 @@ asmlinkage long sys32_add_key(const char __user *_type,
return sys_add_key(_type, _description, _payload, plen, ringid); return sys_add_key(_type, _description, _payload, plen, ringid);
} }
asmlinkage long sys32_request_key(const char __user *_type, asmlinkage long compat_sys_request_key(const char __user *_type,
const char __user *_description, const char __user *_description,
const char __user *_callout_info, const char __user *_callout_info,
u32 destringid) u32 destringid)
......
...@@ -19,15 +19,13 @@ ...@@ -19,15 +19,13 @@
#ifdef CONFIG_PPC64 #ifdef CONFIG_PPC64
#define SYSCALL(func) .llong .sys_##func,.sys_##func #define SYSCALL(func) .llong .sys_##func,.sys_##func
#define SYSCALL32(func) .llong .sys_##func,.sys32_##func
#define COMPAT_SYS(func) .llong .sys_##func,.compat_sys_##func #define COMPAT_SYS(func) .llong .sys_##func,.compat_sys_##func
#define PPC_SYS(func) .llong .ppc_##func,.ppc_##func #define PPC_SYS(func) .llong .ppc_##func,.ppc_##func
#define OLDSYS(func) .llong .sys_ni_syscall,.sys_ni_syscall #define OLDSYS(func) .llong .sys_ni_syscall,.sys_ni_syscall
#define SYS32ONLY(func) .llong .sys_ni_syscall,.sys32_##func #define SYS32ONLY(func) .llong .sys_ni_syscall,.compat_sys_##func
#define SYSX(f, f3264, f32) .llong .f,.f3264 #define SYSX(f, f3264, f32) .llong .f,.f3264
#else #else
#define SYSCALL(func) .long sys_##func #define SYSCALL(func) .long sys_##func
#define SYSCALL32(func) .long sys_##func
#define COMPAT_SYS(func) .long sys_##func #define COMPAT_SYS(func) .long sys_##func
#define PPC_SYS(func) .long ppc_##func #define PPC_SYS(func) .long ppc_##func
#define OLDSYS(func) .long sys_##func #define OLDSYS(func) .long sys_##func
...@@ -50,11 +48,11 @@ SYSCALL(read) ...@@ -50,11 +48,11 @@ SYSCALL(read)
SYSCALL(write) SYSCALL(write)
COMPAT_SYS(open) COMPAT_SYS(open)
SYSCALL(close) SYSCALL(close)
SYSCALL32(waitpid) COMPAT_SYS(waitpid)
SYSCALL32(creat) COMPAT_SYS(creat)
SYSCALL(link) SYSCALL(link)
SYSCALL(unlink) SYSCALL(unlink)
SYSCALL32(execve) COMPAT_SYS(execve)
SYSCALL(chdir) SYSCALL(chdir)
SYSX(sys64_time,compat_sys_time,sys_time) SYSX(sys64_time,compat_sys_time,sys_time)
SYSCALL(mknod) SYSCALL(mknod)
...@@ -69,20 +67,20 @@ SYSX(sys_ni_syscall,sys_oldumount,sys_oldumount) ...@@ -69,20 +67,20 @@ SYSX(sys_ni_syscall,sys_oldumount,sys_oldumount)
SYSCALL(setuid) SYSCALL(setuid)
SYSCALL(getuid) SYSCALL(getuid)
COMPAT_SYS(stime) COMPAT_SYS(stime)
SYSCALL32(ptrace) COMPAT_SYS(ptrace)
SYSCALL(alarm) SYSCALL(alarm)
OLDSYS(fstat) OLDSYS(fstat)
SYSCALL32(pause) COMPAT_SYS(pause)
COMPAT_SYS(utime) COMPAT_SYS(utime)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
SYSCALL32(access) COMPAT_SYS(access)
SYSCALL32(nice) COMPAT_SYS(nice)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
SYSCALL(sync) SYSCALL(sync)
SYSCALL32(kill) COMPAT_SYS(kill)
SYSCALL(rename) SYSCALL(rename)
SYSCALL32(mkdir) COMPAT_SYS(mkdir)
SYSCALL(rmdir) SYSCALL(rmdir)
SYSCALL(dup) SYSCALL(dup)
SYSCALL(pipe) SYSCALL(pipe)
...@@ -100,10 +98,10 @@ SYSCALL(ni_syscall) ...@@ -100,10 +98,10 @@ SYSCALL(ni_syscall)
COMPAT_SYS(ioctl) COMPAT_SYS(ioctl)
COMPAT_SYS(fcntl) COMPAT_SYS(fcntl)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
SYSCALL32(setpgid) COMPAT_SYS(setpgid)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
SYSX(sys_ni_syscall,sys_olduname, sys_olduname) SYSX(sys_ni_syscall,sys_olduname, sys_olduname)
SYSCALL32(umask) COMPAT_SYS(umask)
SYSCALL(chroot) SYSCALL(chroot)
SYSCALL(ustat) SYSCALL(ustat)
SYSCALL(dup2) SYSCALL(dup2)
...@@ -112,23 +110,23 @@ SYSCALL(getpgrp) ...@@ -112,23 +110,23 @@ SYSCALL(getpgrp)
SYSCALL(setsid) SYSCALL(setsid)
SYS32ONLY(sigaction) SYS32ONLY(sigaction)
SYSCALL(sgetmask) SYSCALL(sgetmask)
SYSCALL32(ssetmask) COMPAT_SYS(ssetmask)
SYSCALL(setreuid) SYSCALL(setreuid)
SYSCALL(setregid) SYSCALL(setregid)
SYSX(sys_ni_syscall,ppc32_sigsuspend,ppc_sigsuspend) SYSX(sys_ni_syscall,ppc32_sigsuspend,ppc_sigsuspend)
COMPAT_SYS(sigpending) COMPAT_SYS(sigpending)
SYSCALL32(sethostname) COMPAT_SYS(sethostname)
COMPAT_SYS(setrlimit) COMPAT_SYS(setrlimit)
COMPAT_SYS(old_getrlimit) COMPAT_SYS(old_getrlimit)
COMPAT_SYS(getrusage) COMPAT_SYS(getrusage)
SYSCALL32(gettimeofday) COMPAT_SYS(gettimeofday)
SYSCALL32(settimeofday) COMPAT_SYS(settimeofday)
SYSCALL32(getgroups) COMPAT_SYS(getgroups)
SYSCALL32(setgroups) COMPAT_SYS(setgroups)
SYSX(sys_ni_syscall,sys_ni_syscall,ppc_select) SYSX(sys_ni_syscall,sys_ni_syscall,ppc_select)
SYSCALL(symlink) SYSCALL(symlink)
OLDSYS(lstat) OLDSYS(lstat)
SYSCALL32(readlink) COMPAT_SYS(readlink)
SYSCALL(uselib) SYSCALL(uselib)
SYSCALL(swapon) SYSCALL(swapon)
SYSCALL(reboot) SYSCALL(reboot)
...@@ -139,14 +137,14 @@ SYSCALL(truncate) ...@@ -139,14 +137,14 @@ SYSCALL(truncate)
SYSCALL(ftruncate) SYSCALL(ftruncate)
SYSCALL(fchmod) SYSCALL(fchmod)
SYSCALL(fchown) SYSCALL(fchown)
SYSCALL32(getpriority) COMPAT_SYS(getpriority)
SYSCALL32(setpriority) COMPAT_SYS(setpriority)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
COMPAT_SYS(statfs) COMPAT_SYS(statfs)
COMPAT_SYS(fstatfs) COMPAT_SYS(fstatfs)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
COMPAT_SYS(socketcall) COMPAT_SYS(socketcall)
SYSCALL32(syslog) COMPAT_SYS(syslog)
COMPAT_SYS(setitimer) COMPAT_SYS(setitimer)
COMPAT_SYS(getitimer) COMPAT_SYS(getitimer)
COMPAT_SYS(newstat) COMPAT_SYS(newstat)
...@@ -159,15 +157,15 @@ SYSCALL(ni_syscall) ...@@ -159,15 +157,15 @@ SYSCALL(ni_syscall)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
COMPAT_SYS(wait4) COMPAT_SYS(wait4)
SYSCALL(swapoff) SYSCALL(swapoff)
SYSCALL32(sysinfo) COMPAT_SYS(sysinfo)
SYSCALL32(ipc) COMPAT_SYS(ipc)
SYSCALL(fsync) SYSCALL(fsync)
SYSX(sys_ni_syscall,ppc32_sigreturn,sys_sigreturn) SYSX(sys_ni_syscall,ppc32_sigreturn,sys_sigreturn)
PPC_SYS(clone) PPC_SYS(clone)
SYSCALL32(setdomainname) COMPAT_SYS(setdomainname)
PPC_SYS(newuname) PPC_SYS(newuname)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
SYSCALL32(adjtimex) COMPAT_SYS(adjtimex)
SYSCALL(mprotect) SYSCALL(mprotect)
SYSX(sys_ni_syscall,compat_sys_sigprocmask,sys_sigprocmask) SYSX(sys_ni_syscall,compat_sys_sigprocmask,sys_sigprocmask)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
...@@ -175,36 +173,36 @@ SYSCALL(init_module) ...@@ -175,36 +173,36 @@ SYSCALL(init_module)
SYSCALL(delete_module) SYSCALL(delete_module)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
SYSCALL(quotactl) SYSCALL(quotactl)
SYSCALL32(getpgid) COMPAT_SYS(getpgid)
SYSCALL(fchdir) SYSCALL(fchdir)
SYSCALL(bdflush) SYSCALL(bdflush)
SYSCALL32(sysfs) COMPAT_SYS(sysfs)
SYSX(ppc64_personality,ppc64_personality,sys_personality) SYSX(ppc64_personality,ppc64_personality,sys_personality)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
SYSCALL(setfsuid) SYSCALL(setfsuid)
SYSCALL(setfsgid) SYSCALL(setfsgid)
SYSCALL(llseek) SYSCALL(llseek)
SYSCALL32(getdents) COMPAT_SYS(getdents)
SYSX(sys_select,ppc32_select,ppc_select) SYSX(sys_select,ppc32_select,ppc_select)
SYSCALL(flock) SYSCALL(flock)
SYSCALL(msync) SYSCALL(msync)
COMPAT_SYS(readv) COMPAT_SYS(readv)
COMPAT_SYS(writev) COMPAT_SYS(writev)
SYSCALL32(getsid) COMPAT_SYS(getsid)
SYSCALL(fdatasync) SYSCALL(fdatasync)
SYSCALL32(sysctl) COMPAT_SYS(sysctl)
SYSCALL(mlock) SYSCALL(mlock)
SYSCALL(munlock) SYSCALL(munlock)
SYSCALL(mlockall) SYSCALL(mlockall)
SYSCALL(munlockall) SYSCALL(munlockall)
SYSCALL32(sched_setparam) COMPAT_SYS(sched_setparam)
SYSCALL32(sched_getparam) COMPAT_SYS(sched_getparam)
SYSCALL32(sched_setscheduler) COMPAT_SYS(sched_setscheduler)
SYSCALL32(sched_getscheduler) COMPAT_SYS(sched_getscheduler)
SYSCALL(sched_yield) SYSCALL(sched_yield)
SYSCALL32(sched_get_priority_max) COMPAT_SYS(sched_get_priority_max)
SYSCALL32(sched_get_priority_min) COMPAT_SYS(sched_get_priority_min)
SYSCALL32(sched_rr_get_interval) COMPAT_SYS(sched_rr_get_interval)
COMPAT_SYS(nanosleep) COMPAT_SYS(nanosleep)
SYSCALL(mremap) SYSCALL(mremap)
SYSCALL(setresuid) SYSCALL(setresuid)
...@@ -214,36 +212,36 @@ SYSCALL(poll) ...@@ -214,36 +212,36 @@ SYSCALL(poll)
COMPAT_SYS(nfsservctl) COMPAT_SYS(nfsservctl)
SYSCALL(setresgid) SYSCALL(setresgid)
SYSCALL(getresgid) SYSCALL(getresgid)
SYSCALL32(prctl) COMPAT_SYS(prctl)
SYSX(ppc64_rt_sigreturn,ppc32_rt_sigreturn,sys_rt_sigreturn) SYSX(ppc64_rt_sigreturn,ppc32_rt_sigreturn,sys_rt_sigreturn)
SYSCALL32(rt_sigaction) COMPAT_SYS(rt_sigaction)
SYSCALL32(rt_sigprocmask) COMPAT_SYS(rt_sigprocmask)
SYSCALL32(rt_sigpending) COMPAT_SYS(rt_sigpending)
COMPAT_SYS(rt_sigtimedwait) COMPAT_SYS(rt_sigtimedwait)
SYSCALL32(rt_sigqueueinfo) COMPAT_SYS(rt_sigqueueinfo)
SYSX(ppc64_rt_sigsuspend,ppc32_rt_sigsuspend,ppc_rt_sigsuspend) SYSX(ppc64_rt_sigsuspend,ppc32_rt_sigsuspend,ppc_rt_sigsuspend)
SYSCALL32(pread64) COMPAT_SYS(pread64)
SYSCALL32(pwrite64) COMPAT_SYS(pwrite64)
SYSCALL(chown) SYSCALL(chown)
SYSCALL(getcwd) SYSCALL(getcwd)
SYSCALL(capget) SYSCALL(capget)
SYSCALL(capset) SYSCALL(capset)
SYSCALL32(sigaltstack) COMPAT_SYS(sigaltstack)
SYSX(sys_sendfile64,sys32_sendfile,sys_sendfile) SYSX(sys_sendfile64,compat_sys_sendfile,sys_sendfile)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
PPC_SYS(vfork) PPC_SYS(vfork)
COMPAT_SYS(getrlimit) COMPAT_SYS(getrlimit)
SYSCALL32(readahead) COMPAT_SYS(readahead)
SYS32ONLY(mmap2) SYS32ONLY(mmap2)
SYS32ONLY(truncate64) SYS32ONLY(truncate64)
SYS32ONLY(ftruncate64) SYS32ONLY(ftruncate64)
SYSX(sys_ni_syscall,sys_stat64,sys_stat64) SYSX(sys_ni_syscall,sys_stat64,sys_stat64)
SYSX(sys_ni_syscall,sys_lstat64,sys_lstat64) SYSX(sys_ni_syscall,sys_lstat64,sys_lstat64)
SYSX(sys_ni_syscall,sys_fstat64,sys_fstat64) SYSX(sys_ni_syscall,sys_fstat64,sys_fstat64)
SYSCALL32(pciconfig_read) COMPAT_SYS(pciconfig_read)
SYSCALL32(pciconfig_write) COMPAT_SYS(pciconfig_write)
SYSCALL32(pciconfig_iobase) COMPAT_SYS(pciconfig_iobase)
SYSCALL(ni_syscall) SYSCALL(ni_syscall)
SYSCALL(getdents64) SYSCALL(getdents64)
SYSCALL(pivot_root) SYSCALL(pivot_root)
...@@ -293,8 +291,8 @@ COMPAT_SYS(clock_gettime) ...@@ -293,8 +291,8 @@ COMPAT_SYS(clock_gettime)
COMPAT_SYS(clock_getres) COMPAT_SYS(clock_getres)
COMPAT_SYS(clock_nanosleep) COMPAT_SYS(clock_nanosleep)
SYSX(ppc64_swapcontext,ppc32_swapcontext,ppc_swapcontext) SYSX(ppc64_swapcontext,ppc32_swapcontext,ppc_swapcontext)
SYSCALL32(tgkill) COMPAT_SYS(tgkill)
SYSCALL32(utimes) COMPAT_SYS(utimes)
COMPAT_SYS(statfs64) COMPAT_SYS(statfs64)
COMPAT_SYS(fstatfs64) COMPAT_SYS(fstatfs64)
SYSX(sys_ni_syscall, ppc32_fadvise64_64, sys_fadvise64_64) SYSX(sys_ni_syscall, ppc32_fadvise64_64, sys_fadvise64_64)
...@@ -312,12 +310,12 @@ COMPAT_SYS(mq_timedreceive) ...@@ -312,12 +310,12 @@ COMPAT_SYS(mq_timedreceive)
COMPAT_SYS(mq_notify) COMPAT_SYS(mq_notify)
COMPAT_SYS(mq_getsetattr) COMPAT_SYS(mq_getsetattr)
COMPAT_SYS(kexec_load) COMPAT_SYS(kexec_load)
SYSCALL32(add_key) COMPAT_SYS(add_key)
SYSCALL32(request_key) COMPAT_SYS(request_key)
COMPAT_SYS(keyctl) COMPAT_SYS(keyctl)
COMPAT_SYS(waitid) COMPAT_SYS(waitid)
SYSCALL32(ioprio_set) COMPAT_SYS(ioprio_set)
SYSCALL32(ioprio_get) COMPAT_SYS(ioprio_get)
SYSCALL(inotify_init) SYSCALL(inotify_init)
SYSCALL(inotify_add_watch) SYSCALL(inotify_add_watch)
SYSCALL(inotify_rm_watch) SYSCALL(inotify_rm_watch)
...@@ -265,7 +265,7 @@ _GLOBAL(save_nvgprs) ...@@ -265,7 +265,7 @@ _GLOBAL(save_nvgprs)
*/ */
_GLOBAL(ppc32_sigsuspend) _GLOBAL(ppc32_sigsuspend)
bl .save_nvgprs bl .save_nvgprs
bl .sys32_sigsuspend bl .compat_sys_sigsuspend
b 70f b 70f
_GLOBAL(ppc64_rt_sigsuspend) _GLOBAL(ppc64_rt_sigsuspend)
...@@ -275,7 +275,7 @@ _GLOBAL(ppc64_rt_sigsuspend) ...@@ -275,7 +275,7 @@ _GLOBAL(ppc64_rt_sigsuspend)
_GLOBAL(ppc32_rt_sigsuspend) _GLOBAL(ppc32_rt_sigsuspend)
bl .save_nvgprs bl .save_nvgprs
bl .sys32_rt_sigsuspend bl .compat_sys_rt_sigsuspend
70: cmpdi 0,r3,0 70: cmpdi 0,r3,0
/* If it returned an error, we need to return via syscall_exit to set /* If it returned an error, we need to return via syscall_exit to set
the SO bit in cr0 and potentially stop for ptrace. */ the SO bit in cr0 and potentially stop for ptrace. */
...@@ -310,7 +310,7 @@ _GLOBAL(ppc_clone) ...@@ -310,7 +310,7 @@ _GLOBAL(ppc_clone)
_GLOBAL(ppc32_swapcontext) _GLOBAL(ppc32_swapcontext)
bl .save_nvgprs bl .save_nvgprs
bl .sys32_swapcontext bl .compat_sys_swapcontext
b 80f b 80f
_GLOBAL(ppc64_swapcontext) _GLOBAL(ppc64_swapcontext)
...@@ -319,11 +319,11 @@ _GLOBAL(ppc64_swapcontext) ...@@ -319,11 +319,11 @@ _GLOBAL(ppc64_swapcontext)
b 80f b 80f
_GLOBAL(ppc32_sigreturn) _GLOBAL(ppc32_sigreturn)
bl .sys32_sigreturn bl .compat_sys_sigreturn
b 80f b 80f
_GLOBAL(ppc32_rt_sigreturn) _GLOBAL(ppc32_rt_sigreturn)
bl .sys32_rt_sigreturn bl .compat_sys_rt_sigreturn
b 80f b 80f
_GLOBAL(ppc64_rt_sigreturn) _GLOBAL(ppc64_rt_sigreturn)
......
...@@ -928,11 +928,11 @@ _GLOBAL(sys_call_table32) ...@@ -928,11 +928,11 @@ _GLOBAL(sys_call_table32)
.llong .sys_write .llong .sys_write
.llong .compat_sys_open /* 5 */ .llong .compat_sys_open /* 5 */
.llong .sys_close .llong .sys_close
.llong .sys32_waitpid .llong .compat_sys_waitpid
.llong .sys32_creat .llong .compat_sys_creat
.llong .sys_link .llong .sys_link
.llong .sys_unlink /* 10 */ .llong .sys_unlink /* 10 */
.llong .sys32_execve .llong .compat_sys_execve
.llong .sys_chdir .llong .sys_chdir
.llong .compat_sys_time .llong .compat_sys_time
.llong .sys_mknod .llong .sys_mknod
...@@ -947,20 +947,20 @@ _GLOBAL(sys_call_table32) ...@@ -947,20 +947,20 @@ _GLOBAL(sys_call_table32)
.llong .sys_setuid .llong .sys_setuid
.llong .sys_getuid .llong .sys_getuid
.llong .compat_sys_stime /* 25 */ .llong .compat_sys_stime /* 25 */
.llong .sys32_ptrace .llong .compat_sys_ptrace
.llong .sys_alarm .llong .sys_alarm
.llong .sys_ni_syscall /* old fstat syscall */ .llong .sys_ni_syscall /* old fstat syscall */
.llong .sys32_pause .llong .compat_sys_pause
.llong .compat_sys_utime /* 30 */ .llong .compat_sys_utime /* 30 */
.llong .sys_ni_syscall /* old stty syscall */ .llong .sys_ni_syscall /* old stty syscall */
.llong .sys_ni_syscall /* old gtty syscall */ .llong .sys_ni_syscall /* old gtty syscall */
.llong .sys32_access .llong .compat_sys_access
.llong .sys32_nice .llong .compat_sys_nice
.llong .sys_ni_syscall /* 35 - old ftime syscall */ .llong .sys_ni_syscall /* 35 - old ftime syscall */
.llong .sys_sync .llong .sys_sync
.llong .sys32_kill .llong .compat_sys_kill
.llong .sys_rename .llong .sys_rename
.llong .sys32_mkdir .llong .compat_sys_mkdir
.llong .sys_rmdir /* 40 */ .llong .sys_rmdir /* 40 */
.llong .sys_dup .llong .sys_dup
.llong .sys_pipe .llong .sys_pipe
...@@ -978,35 +978,35 @@ _GLOBAL(sys_call_table32) ...@@ -978,35 +978,35 @@ _GLOBAL(sys_call_table32)
.llong .compat_sys_ioctl .llong .compat_sys_ioctl
.llong .compat_sys_fcntl /* 55 */ .llong .compat_sys_fcntl /* 55 */
.llong .sys_ni_syscall /* old mpx syscall */ .llong .sys_ni_syscall /* old mpx syscall */
.llong .sys32_setpgid .llong .compat_sys_setpgid
.llong .sys_ni_syscall /* old ulimit syscall */ .llong .sys_ni_syscall /* old ulimit syscall */
.llong .sys_olduname .llong .sys_olduname
.llong .sys32_umask /* 60 */ .llong .compat_sys_umask /* 60 */
.llong .sys_chroot .llong .sys_chroot
.llong .sys_ustat .llong .sys_ustat
.llong .sys_dup2 .llong .sys_dup2
.llong .sys_getppid .llong .sys_getppid
.llong .sys_getpgrp /* 65 */ .llong .sys_getpgrp /* 65 */
.llong .sys_setsid .llong .sys_setsid
.llong .sys32_sigaction .llong .compat_sys_sigaction
.llong .sys_sgetmask .llong .sys_sgetmask
.llong .sys32_ssetmask .llong .compat_sys_ssetmask
.llong .sys_setreuid /* 70 */ .llong .sys_setreuid /* 70 */
.llong .sys_setregid .llong .sys_setregid
.llong .ppc32_sigsuspend .llong .ppc32_sigsuspend
.llong .compat_sys_sigpending .llong .compat_sys_sigpending
.llong .sys32_sethostname .llong .compat_sys_sethostname
.llong .compat_sys_setrlimit /* 75 */ .llong .compat_sys_setrlimit /* 75 */
.llong .compat_sys_old_getrlimit .llong .compat_sys_old_getrlimit
.llong .compat_sys_getrusage .llong .compat_sys_getrusage
.llong .sys32_gettimeofday .llong .compat_sys_gettimeofday
.llong .sys32_settimeofday .llong .compat_sys_settimeofday
.llong .sys32_getgroups /* 80 */ .llong .compat_sys_getgroups /* 80 */
.llong .sys32_setgroups .llong .compat_sys_setgroups
.llong .sys_ni_syscall /* old select syscall */ .llong .sys_ni_syscall /* old select syscall */
.llong .sys_symlink .llong .sys_symlink
.llong .sys_ni_syscall /* old lstat syscall */ .llong .sys_ni_syscall /* old lstat syscall */
.llong .sys32_readlink /* 85 */ .llong .compat_sys_readlink /* 85 */
.llong .sys_uselib .llong .sys_uselib
.llong .sys_swapon .llong .sys_swapon
.llong .sys_reboot .llong .sys_reboot
...@@ -1017,14 +1017,14 @@ _GLOBAL(sys_call_table32) ...@@ -1017,14 +1017,14 @@ _GLOBAL(sys_call_table32)
.llong .sys_ftruncate .llong .sys_ftruncate
.llong .sys_fchmod .llong .sys_fchmod
.llong .sys_fchown /* 95 */ .llong .sys_fchown /* 95 */
.llong .sys32_getpriority .llong .compat_sys_getpriority
.llong .sys32_setpriority .llong .compat_sys_setpriority
.llong .sys_ni_syscall /* old profil syscall */ .llong .sys_ni_syscall /* old profil syscall */
.llong .compat_sys_statfs .llong .compat_sys_statfs
.llong .compat_sys_fstatfs /* 100 */ .llong .compat_sys_fstatfs /* 100 */
.llong .sys_ni_syscall /* old ioperm syscall */ .llong .sys_ni_syscall /* old ioperm syscall */
.llong .compat_sys_socketcall .llong .compat_sys_socketcall
.llong .sys32_syslog .llong .compat_sys_syslog
.llong .compat_sys_setitimer .llong .compat_sys_setitimer
.llong .compat_sys_getitimer /* 105 */ .llong .compat_sys_getitimer /* 105 */
.llong .compat_sys_newstat .llong .compat_sys_newstat
...@@ -1037,15 +1037,15 @@ _GLOBAL(sys_call_table32) ...@@ -1037,15 +1037,15 @@ _GLOBAL(sys_call_table32)
.llong .sys_ni_syscall /* old vm86 syscall */ .llong .sys_ni_syscall /* old vm86 syscall */
.llong .compat_sys_wait4 .llong .compat_sys_wait4
.llong .sys_swapoff /* 115 */ .llong .sys_swapoff /* 115 */
.llong .sys32_sysinfo .llong .compat_sys_sysinfo
.llong .sys32_ipc .llong .compat_sys_ipc
.llong .sys_fsync .llong .sys_fsync
.llong .ppc32_sigreturn .llong .ppc32_sigreturn
.llong .ppc_clone /* 120 */ .llong .ppc_clone /* 120 */
.llong .sys32_setdomainname .llong .compat_sys_setdomainname
.llong .ppc_newuname .llong .ppc_newuname
.llong .sys_ni_syscall /* old modify_ldt syscall */ .llong .sys_ni_syscall /* old modify_ldt syscall */
.llong .sys32_adjtimex .llong .compat_sys_adjtimex
.llong .sys_mprotect /* 125 */ .llong .sys_mprotect /* 125 */
.llong .compat_sys_sigprocmask .llong .compat_sys_sigprocmask
.llong .sys_ni_syscall /* old create_module syscall */ .llong .sys_ni_syscall /* old create_module syscall */
...@@ -1053,36 +1053,36 @@ _GLOBAL(sys_call_table32) ...@@ -1053,36 +1053,36 @@ _GLOBAL(sys_call_table32)
.llong .sys_delete_module .llong .sys_delete_module
.llong .sys_ni_syscall /* 130 old get_kernel_syms syscall */ .llong .sys_ni_syscall /* 130 old get_kernel_syms syscall */
.llong .sys_quotactl .llong .sys_quotactl
.llong .sys32_getpgid .llong .compat_sys_getpgid
.llong .sys_fchdir .llong .sys_fchdir
.llong .sys_bdflush .llong .sys_bdflush
.llong .sys32_sysfs /* 135 */ .llong .compat_sys_sysfs /* 135 */
.llong .ppc64_personality .llong .ppc64_personality
.llong .sys_ni_syscall /* for afs_syscall */ .llong .sys_ni_syscall /* for afs_syscall */
.llong .sys_setfsuid .llong .sys_setfsuid
.llong .sys_setfsgid .llong .sys_setfsgid
.llong .sys_llseek /* 140 */ .llong .sys_llseek /* 140 */
.llong .sys32_getdents .llong .compat_sys_getdents
.llong .ppc32_select .llong .ppc32_select
.llong .sys_flock .llong .sys_flock
.llong .sys_msync .llong .sys_msync
.llong .compat_sys_readv /* 145 */ .llong .compat_sys_readv /* 145 */
.llong .compat_sys_writev .llong .compat_sys_writev
.llong .sys32_getsid .llong .compat_sys_getsid
.llong .sys_fdatasync .llong .sys_fdatasync
.llong .sys32_sysctl .llong .compat_sys_sysctl
.llong .sys_mlock /* 150 */ .llong .sys_mlock /* 150 */
.llong .sys_munlock .llong .sys_munlock
.llong .sys_mlockall .llong .sys_mlockall
.llong .sys_munlockall .llong .sys_munlockall
.llong .sys32_sched_setparam .llong .compat_sys_sched_setparam
.llong .sys32_sched_getparam /* 155 */ .llong .compat_sys_sched_getparam /* 155 */
.llong .sys32_sched_setscheduler .llong .compat_sys_sched_setscheduler
.llong .sys32_sched_getscheduler .llong .compat_sys_sched_getscheduler
.llong .sys_sched_yield .llong .sys_sched_yield
.llong .sys32_sched_get_priority_max .llong .compat_sys_sched_get_priority_max
.llong .sys32_sched_get_priority_min /* 160 */ .llong .compat_sys_sched_get_priority_min /* 160 */
.llong .sys32_sched_rr_get_interval .llong .compat_sys_sched_rr_get_interval
.llong .compat_sys_nanosleep .llong .compat_sys_nanosleep
.llong .sys_mremap .llong .sys_mremap
.llong .sys_setresuid .llong .sys_setresuid
...@@ -1092,36 +1092,36 @@ _GLOBAL(sys_call_table32) ...@@ -1092,36 +1092,36 @@ _GLOBAL(sys_call_table32)
.llong .compat_sys_nfsservctl .llong .compat_sys_nfsservctl
.llong .sys_setresgid .llong .sys_setresgid
.llong .sys_getresgid /* 170 */ .llong .sys_getresgid /* 170 */
.llong .sys32_prctl .llong .compat_sys_prctl
.llong .ppc32_rt_sigreturn .llong .ppc32_rt_sigreturn
.llong .sys32_rt_sigaction .llong .compat_sys_rt_sigaction
.llong .sys32_rt_sigprocmask .llong .compat_sys_rt_sigprocmask
.llong .sys32_rt_sigpending /* 175 */ .llong .compat_sys_rt_sigpending /* 175 */
.llong .compat_sys_rt_sigtimedwait .llong .compat_sys_rt_sigtimedwait
.llong .sys32_rt_sigqueueinfo .llong .compat_sys_rt_sigqueueinfo
.llong .ppc32_rt_sigsuspend .llong .ppc32_rt_sigsuspend
.llong .sys32_pread64 .llong .compat_sys_pread64
.llong .sys32_pwrite64 /* 180 */ .llong .compat_sys_pwrite64 /* 180 */
.llong .sys_chown .llong .sys_chown
.llong .sys_getcwd .llong .sys_getcwd
.llong .sys_capget .llong .sys_capget
.llong .sys_capset .llong .sys_capset
.llong .sys32_sigaltstack /* 185 */ .llong .compat_sys_sigaltstack /* 185 */
.llong .sys32_sendfile .llong .compat_sys_sendfile
.llong .sys_ni_syscall /* reserved for streams1 */ .llong .sys_ni_syscall /* reserved for streams1 */
.llong .sys_ni_syscall /* reserved for streams2 */ .llong .sys_ni_syscall /* reserved for streams2 */
.llong .ppc_vfork .llong .ppc_vfork
.llong .compat_sys_getrlimit /* 190 */ .llong .compat_sys_getrlimit /* 190 */
.llong .sys32_readahead .llong .compat_sys_readahead
.llong .sys32_mmap2 .llong .compat_sys_mmap2
.llong .sys32_truncate64 .llong .compat_sys_truncate64
.llong .sys32_ftruncate64 .llong .compat_sys_ftruncate64
.llong .sys_stat64 /* 195 */ .llong .sys_stat64 /* 195 */
.llong .sys_lstat64 .llong .sys_lstat64
.llong .sys_fstat64 .llong .sys_fstat64
.llong .sys32_pciconfig_read .llong .compat_sys_pciconfig_read
.llong .sys32_pciconfig_write .llong .compat_sys_pciconfig_write
.llong .sys32_pciconfig_iobase /* 200 - pciconfig_iobase */ .llong .compat_sys_pciconfig_iobase /* 200 - pciconfig_iobase */
.llong .sys_ni_syscall /* reserved for MacOnLinux */ .llong .sys_ni_syscall /* reserved for MacOnLinux */
.llong .sys_getdents64 .llong .sys_getdents64
.llong .sys_pivot_root .llong .sys_pivot_root
...@@ -1147,7 +1147,7 @@ _GLOBAL(sys_call_table32) ...@@ -1147,7 +1147,7 @@ _GLOBAL(sys_call_table32)
.llong .compat_sys_sched_getaffinity .llong .compat_sys_sched_getaffinity
.llong .sys_ni_syscall .llong .sys_ni_syscall
.llong .sys_ni_syscall /* 225 - reserved for tux */ .llong .sys_ni_syscall /* 225 - reserved for tux */
.llong .sys32_sendfile64 .llong .compat_sys_sendfile64
.llong .compat_sys_io_setup .llong .compat_sys_io_setup
.llong .sys_io_destroy .llong .sys_io_destroy
.llong .compat_sys_io_getevents .llong .compat_sys_io_getevents
...@@ -1171,8 +1171,8 @@ _GLOBAL(sys_call_table32) ...@@ -1171,8 +1171,8 @@ _GLOBAL(sys_call_table32)
.llong .compat_sys_clock_getres .llong .compat_sys_clock_getres
.llong .compat_sys_clock_nanosleep .llong .compat_sys_clock_nanosleep
.llong .ppc32_swapcontext .llong .ppc32_swapcontext
.llong .sys32_tgkill /* 250 */ .llong .compat_sys_tgkill /* 250 */
.llong .sys32_utimes .llong .compat_sys_utimes
.llong .compat_sys_statfs64 .llong .compat_sys_statfs64
.llong .compat_sys_fstatfs64 .llong .compat_sys_fstatfs64
.llong .ppc32_fadvise64_64 /* 32bit only fadvise64_64 */ .llong .ppc32_fadvise64_64 /* 32bit only fadvise64_64 */
...@@ -1190,12 +1190,12 @@ _GLOBAL(sys_call_table32) ...@@ -1190,12 +1190,12 @@ _GLOBAL(sys_call_table32)
.llong .compat_sys_mq_notify .llong .compat_sys_mq_notify
.llong .compat_sys_mq_getsetattr .llong .compat_sys_mq_getsetattr
.llong .compat_sys_kexec_load .llong .compat_sys_kexec_load
.llong .sys32_add_key .llong .compat_sys_add_key
.llong .sys32_request_key /* 270 */ .llong .compat_sys_request_key /* 270 */
.llong .compat_sys_keyctl .llong .compat_sys_keyctl
.llong .compat_sys_waitid .llong .compat_sys_waitid
.llong .sys32_ioprio_set .llong .compat_sys_ioprio_set
.llong .sys32_ioprio_get .llong .compat_sys_ioprio_get
.llong .sys_inotify_init /* 275 */ .llong .sys_inotify_init /* 275 */
.llong .sys_inotify_add_watch .llong .sys_inotify_add_watch
.llong .sys_inotify_rm_watch .llong .sys_inotify_rm_watch
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
* in exit.c or in signal.c. * in exit.c or in signal.c.
*/ */
int sys32_ptrace(long request, long pid, unsigned long addr, unsigned long data) int compat_sys_ptrace(long request, long pid, unsigned long addr, unsigned long data)
{ {
struct task_struct *child; struct task_struct *child;
int ret = -EPERM; int ret = -EPERM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment