提交 b09a4913 编写于 作者: S 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: NStephen Rothwell <sfr@canb.auug.org.au>
上级 81e7009e
......@@ -262,7 +262,7 @@ _GLOBAL(save_nvgprs)
*/
_GLOBAL(ppc32_sigsuspend)
bl .save_nvgprs
bl .sys32_sigsuspend
bl .compat_sys_sigsuspend
b 70f
_GLOBAL(ppc64_rt_sigsuspend)
......@@ -272,7 +272,7 @@ _GLOBAL(ppc64_rt_sigsuspend)
_GLOBAL(ppc32_rt_sigsuspend)
bl .save_nvgprs
bl .sys32_rt_sigsuspend
bl .compat_sys_rt_sigsuspend
70: cmpdi 0,r3,0
/* If it returned an error, we need to return via syscall_exit to set
the SO bit in cr0 and potentially stop for ptrace. */
......@@ -307,7 +307,7 @@ _GLOBAL(ppc_clone)
_GLOBAL(ppc32_swapcontext)
bl .save_nvgprs
bl .sys32_swapcontext
bl .compat_sys_swapcontext
b 80f
_GLOBAL(ppc64_swapcontext)
......@@ -316,11 +316,11 @@ _GLOBAL(ppc64_swapcontext)
b 80f
_GLOBAL(ppc32_sigreturn)
bl .sys32_sigreturn
bl .compat_sys_sigreturn
b 80f
_GLOBAL(ppc32_rt_sigreturn)
bl .sys32_rt_sigreturn
bl .compat_sys_rt_sigreturn
b 80f
_GLOBAL(ppc64_rt_sigreturn)
......
......@@ -58,12 +58,12 @@
#ifdef CONFIG_PPC64
#define do_signal do_signal32
#define sys_sigsuspend sys32_sigsuspend
#define sys_rt_sigsuspend sys32_rt_sigsuspend
#define sys_rt_sigreturn sys32_rt_sigreturn
#define sys_sigaction sys32_sigaction
#define sys_swapcontext sys32_swapcontext
#define sys_sigreturn sys32_sigreturn
#define sys_sigsuspend compat_sys_sigsuspend
#define sys_rt_sigsuspend compat_sys_rt_sigsuspend
#define sys_rt_sigreturn compat_sys_rt_sigreturn
#define sys_sigaction compat_sys_sigaction
#define sys_swapcontext compat_sys_swapcontext
#define sys_sigreturn compat_sys_sigreturn
#define old_sigaction old_sigaction32
#define sigcontext sigcontext32
......@@ -540,7 +540,7 @@ static long restore_user_regs(struct pt_regs *regs,
}
#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 k_sigaction new_ka, old_ka;
......@@ -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 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)
{
sigset_t s;
......@@ -605,7 +605,7 @@ long sys32_rt_sigprocmask(u32 how, compat_sigset_t __user *set,
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;
int ret;
......@@ -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 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;
int ret;
......@@ -706,10 +706,10 @@ long sys32_rt_sigqueueinfo(u32 pid, u32 sig, compat_siginfo_t __user *uinfo)
* Start Alternate signal stack support
*
* 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)
{
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,
*/
#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 ?
* 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;
#else
do_sigaltstack(&rt_sf->uc.uc_stack, NULL, regs->gpr[1]);
......
......@@ -113,96 +113,6 @@ asmlinkage int old32_readdir(unsigned int fd, struct old_linux_dirent32 __user *
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,
compat_ulong_t __user *outp, compat_ulong_t __user *exp,
compat_uptr_t tvp_x)
......@@ -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)
* 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);
}
......@@ -269,7 +179,7 @@ struct timex32 {
extern int do_adjtimex(struct timex *);
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;
int ret;
......@@ -328,7 +238,7 @@ asmlinkage long sys32_adjtimex(struct timex32 __user *utp)
return ret;
}
asmlinkage long sys32_pause(void)
asmlinkage long compat_sys_pause(void)
{
current->state = TASK_INTERRUPTIBLE;
schedule();
......@@ -374,7 +284,7 @@ struct sysinfo32 {
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;
int ret, err;
......@@ -431,7 +341,7 @@ asmlinkage long sys32_sysinfo(struct sysinfo32 __user *info)
sorts of things, like timeval and itimerval. */
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) {
struct timeval ktv;
......@@ -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 timezone ktz;
......@@ -467,7 +377,7 @@ asmlinkage long sys32_settimeofday(struct compat_timeval __user *tv, struct time
}
#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)
{
int version;
......@@ -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)
* 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();
int ret;
......@@ -560,7 +470,7 @@ asmlinkage long sys32_sendfile(u32 out_fd, u32 in_fd, compat_off_t __user * offs
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();
int ret;
......@@ -582,7 +492,7 @@ asmlinkage int sys32_sendfile64(int out_fd, int in_fd, compat_loff_t __user *off
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,
struct pt_regs *regs)
{
......@@ -614,7 +524,7 @@ long sys32_execve(unsigned long a0, unsigned long a1, unsigned long a2,
* 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.
*/
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,
(unsigned long) arg2,
......@@ -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)
* 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;
int ret;
......@@ -643,7 +553,7 @@ asmlinkage long sys32_sched_rr_get_interval(u32 pid, struct compat_timespec __us
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,
(unsigned long) dfn,
......@@ -652,7 +562,7 @@ asmlinkage int sys32_pciconfig_read(u32 bus, u32 dfn, u32 off, u32 len, u32 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,
(unsigned long) dfn,
......@@ -661,7 +571,7 @@ asmlinkage int sys32_pciconfig_write(u32 bus, u32 dfn, u32 off, u32 len, u32 ubu
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);
}
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
long sys32_nice(u32 increment)
long compat_sys_nice(u32 increment)
{
/* sign extend increment */
return sys_nice((int)increment);
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
......@@ -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)
* 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);
}
asmlinkage long sys32_sethostname(char __user *name, u32 len)
asmlinkage long compat_sys_sethostname(char __user *name, u32 len)
{
/* sign extend len */
return sys_sethostname(name, (int)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)
* 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);
}
long sys32_getpriority(u32 which, u32 who)
long compat_sys_getpriority(u32 which, u32 who)
{
/* sign extend which and 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 */
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 */
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 */
return sys_ioprio_set((int)which, (int)who, (int)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)
* 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);
}
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 */
return sys_syslog(type, buf, (int)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)
* 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);
}
......@@ -944,7 +854,7 @@ struct __sysctl_args32 {
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;
int error;
......@@ -985,7 +895,7 @@ asmlinkage long sys32_sysctl(struct __sysctl_args32 __user *args)
}
#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 fd, unsigned long pgoff)
{
......@@ -993,29 +903,7 @@ unsigned long sys32_mmap2(unsigned long addr, size_t len,
return sys_mmap(addr, len, prot, flags, fd, pgoff << 12);
}
int get_compat_timeval(struct timeval *tv, struct compat_timeval __user *ctv)
{
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)
long compat_sys_tgkill(u32 tgid, u32 pid, int sig)
{
/* sign extend tgid, pid */
return sys_tgkill((int)tgid, (int)pid, 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.
*/
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)
{
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)
{
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);
}
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)
{
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)
{
return sys_ftruncate(fd, (high << 32) | low);
......@@ -1108,7 +996,7 @@ long ppc32_timer_create(clockid_t clock,
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 void __user *_payload,
u32 plen,
......@@ -1117,7 +1005,7 @@ asmlinkage long sys32_add_key(const char __user *_type,
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 *_callout_info,
u32 destringid)
......
......@@ -19,15 +19,13 @@
#ifdef CONFIG_PPC64
#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 PPC_SYS(func) .llong .ppc_##func,.ppc_##func
#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
#else
#define SYSCALL(func) .long sys_##func
#define SYSCALL32(func) .long sys_##func
#define COMPAT_SYS(func) .long sys_##func
#define PPC_SYS(func) .long ppc_##func
#define OLDSYS(func) .long sys_##func
......@@ -50,11 +48,11 @@ SYSCALL(read)
SYSCALL(write)
COMPAT_SYS(open)
SYSCALL(close)
SYSCALL32(waitpid)
SYSCALL32(creat)
COMPAT_SYS(waitpid)
COMPAT_SYS(creat)
SYSCALL(link)
SYSCALL(unlink)
SYSCALL32(execve)
COMPAT_SYS(execve)
SYSCALL(chdir)
SYSX(sys64_time,compat_sys_time,sys_time)
SYSCALL(mknod)
......@@ -69,20 +67,20 @@ SYSX(sys_ni_syscall,sys_oldumount,sys_oldumount)
SYSCALL(setuid)
SYSCALL(getuid)
COMPAT_SYS(stime)
SYSCALL32(ptrace)
COMPAT_SYS(ptrace)
SYSCALL(alarm)
OLDSYS(fstat)
SYSCALL32(pause)
COMPAT_SYS(pause)
COMPAT_SYS(utime)
SYSCALL(ni_syscall)
SYSCALL(ni_syscall)
SYSCALL32(access)
SYSCALL32(nice)
COMPAT_SYS(access)
COMPAT_SYS(nice)
SYSCALL(ni_syscall)
SYSCALL(sync)
SYSCALL32(kill)
COMPAT_SYS(kill)
SYSCALL(rename)
SYSCALL32(mkdir)
COMPAT_SYS(mkdir)
SYSCALL(rmdir)
SYSCALL(dup)
SYSCALL(pipe)
......@@ -100,10 +98,10 @@ SYSCALL(ni_syscall)
COMPAT_SYS(ioctl)
COMPAT_SYS(fcntl)
SYSCALL(ni_syscall)
SYSCALL32(setpgid)
COMPAT_SYS(setpgid)
SYSCALL(ni_syscall)
SYSX(sys_ni_syscall,sys_olduname, sys_olduname)
SYSCALL32(umask)
COMPAT_SYS(umask)
SYSCALL(chroot)
SYSCALL(ustat)
SYSCALL(dup2)
......@@ -112,23 +110,23 @@ SYSCALL(getpgrp)
SYSCALL(setsid)
SYS32ONLY(sigaction)
SYSCALL(sgetmask)
SYSCALL32(ssetmask)
COMPAT_SYS(ssetmask)
SYSCALL(setreuid)
SYSCALL(setregid)
SYSX(sys_ni_syscall,ppc32_sigsuspend,ppc_sigsuspend)
COMPAT_SYS(sigpending)
SYSCALL32(sethostname)
COMPAT_SYS(sethostname)
COMPAT_SYS(setrlimit)
COMPAT_SYS(old_getrlimit)
COMPAT_SYS(getrusage)
SYSCALL32(gettimeofday)
SYSCALL32(settimeofday)
SYSCALL32(getgroups)
SYSCALL32(setgroups)
COMPAT_SYS(gettimeofday)
COMPAT_SYS(settimeofday)
COMPAT_SYS(getgroups)
COMPAT_SYS(setgroups)
SYSX(sys_ni_syscall,sys_ni_syscall,ppc_select)
SYSCALL(symlink)
OLDSYS(lstat)
SYSCALL32(readlink)
COMPAT_SYS(readlink)
SYSCALL(uselib)
SYSCALL(swapon)
SYSCALL(reboot)
......@@ -139,14 +137,14 @@ SYSCALL(truncate)
SYSCALL(ftruncate)
SYSCALL(fchmod)
SYSCALL(fchown)
SYSCALL32(getpriority)
SYSCALL32(setpriority)
COMPAT_SYS(getpriority)
COMPAT_SYS(setpriority)
SYSCALL(ni_syscall)
COMPAT_SYS(statfs)
COMPAT_SYS(fstatfs)
SYSCALL(ni_syscall)
COMPAT_SYS(socketcall)
SYSCALL32(syslog)
COMPAT_SYS(syslog)
COMPAT_SYS(setitimer)
COMPAT_SYS(getitimer)
COMPAT_SYS(newstat)
......@@ -159,15 +157,15 @@ SYSCALL(ni_syscall)
SYSCALL(ni_syscall)
COMPAT_SYS(wait4)
SYSCALL(swapoff)
SYSCALL32(sysinfo)
SYSCALL32(ipc)
COMPAT_SYS(sysinfo)
COMPAT_SYS(ipc)
SYSCALL(fsync)
SYSX(sys_ni_syscall,ppc32_sigreturn,sys_sigreturn)
PPC_SYS(clone)
SYSCALL32(setdomainname)
COMPAT_SYS(setdomainname)
PPC_SYS(newuname)
SYSCALL(ni_syscall)
SYSCALL32(adjtimex)
COMPAT_SYS(adjtimex)
SYSCALL(mprotect)
SYSX(sys_ni_syscall,compat_sys_sigprocmask,sys_sigprocmask)
SYSCALL(ni_syscall)
......@@ -175,36 +173,36 @@ SYSCALL(init_module)
SYSCALL(delete_module)
SYSCALL(ni_syscall)
SYSCALL(quotactl)
SYSCALL32(getpgid)
COMPAT_SYS(getpgid)
SYSCALL(fchdir)
SYSCALL(bdflush)
SYSCALL32(sysfs)
COMPAT_SYS(sysfs)
SYSX(ppc64_personality,ppc64_personality,sys_personality)
SYSCALL(ni_syscall)
SYSCALL(setfsuid)
SYSCALL(setfsgid)
SYSCALL(llseek)
SYSCALL32(getdents)
COMPAT_SYS(getdents)
SYSX(sys_select,ppc32_select,ppc_select)
SYSCALL(flock)
SYSCALL(msync)
COMPAT_SYS(readv)
COMPAT_SYS(writev)
SYSCALL32(getsid)
COMPAT_SYS(getsid)
SYSCALL(fdatasync)
SYSCALL32(sysctl)
COMPAT_SYS(sysctl)
SYSCALL(mlock)
SYSCALL(munlock)
SYSCALL(mlockall)
SYSCALL(munlockall)
SYSCALL32(sched_setparam)
SYSCALL32(sched_getparam)
SYSCALL32(sched_setscheduler)
SYSCALL32(sched_getscheduler)
COMPAT_SYS(sched_setparam)
COMPAT_SYS(sched_getparam)
COMPAT_SYS(sched_setscheduler)
COMPAT_SYS(sched_getscheduler)
SYSCALL(sched_yield)
SYSCALL32(sched_get_priority_max)
SYSCALL32(sched_get_priority_min)
SYSCALL32(sched_rr_get_interval)
COMPAT_SYS(sched_get_priority_max)
COMPAT_SYS(sched_get_priority_min)
COMPAT_SYS(sched_rr_get_interval)
COMPAT_SYS(nanosleep)
SYSCALL(mremap)
SYSCALL(setresuid)
......@@ -214,36 +212,36 @@ SYSCALL(poll)
COMPAT_SYS(nfsservctl)
SYSCALL(setresgid)
SYSCALL(getresgid)
SYSCALL32(prctl)
COMPAT_SYS(prctl)
SYSX(ppc64_rt_sigreturn,ppc32_rt_sigreturn,sys_rt_sigreturn)
SYSCALL32(rt_sigaction)
SYSCALL32(rt_sigprocmask)
SYSCALL32(rt_sigpending)
COMPAT_SYS(rt_sigaction)
COMPAT_SYS(rt_sigprocmask)
COMPAT_SYS(rt_sigpending)
COMPAT_SYS(rt_sigtimedwait)
SYSCALL32(rt_sigqueueinfo)
COMPAT_SYS(rt_sigqueueinfo)
SYSX(ppc64_rt_sigsuspend,ppc32_rt_sigsuspend,ppc_rt_sigsuspend)
SYSCALL32(pread64)
SYSCALL32(pwrite64)
COMPAT_SYS(pread64)
COMPAT_SYS(pwrite64)
SYSCALL(chown)
SYSCALL(getcwd)
SYSCALL(capget)
SYSCALL(capset)
SYSCALL32(sigaltstack)
SYSX(sys_sendfile64,sys32_sendfile,sys_sendfile)
COMPAT_SYS(sigaltstack)
SYSX(sys_sendfile64,compat_sys_sendfile,sys_sendfile)
SYSCALL(ni_syscall)
SYSCALL(ni_syscall)
PPC_SYS(vfork)
COMPAT_SYS(getrlimit)
SYSCALL32(readahead)
COMPAT_SYS(readahead)
SYS32ONLY(mmap2)
SYS32ONLY(truncate64)
SYS32ONLY(ftruncate64)
SYSX(sys_ni_syscall,sys_stat64,sys_stat64)
SYSX(sys_ni_syscall,sys_lstat64,sys_lstat64)
SYSX(sys_ni_syscall,sys_fstat64,sys_fstat64)
SYSCALL32(pciconfig_read)
SYSCALL32(pciconfig_write)
SYSCALL32(pciconfig_iobase)
COMPAT_SYS(pciconfig_read)
COMPAT_SYS(pciconfig_write)
COMPAT_SYS(pciconfig_iobase)
SYSCALL(ni_syscall)
SYSCALL(getdents64)
SYSCALL(pivot_root)
......@@ -293,8 +291,8 @@ COMPAT_SYS(clock_gettime)
COMPAT_SYS(clock_getres)
COMPAT_SYS(clock_nanosleep)
SYSX(ppc64_swapcontext,ppc32_swapcontext,ppc_swapcontext)
SYSCALL32(tgkill)
SYSCALL32(utimes)
COMPAT_SYS(tgkill)
COMPAT_SYS(utimes)
COMPAT_SYS(statfs64)
COMPAT_SYS(fstatfs64)
SYSX(sys_ni_syscall, ppc32_fadvise64_64, sys_fadvise64_64)
......@@ -312,12 +310,12 @@ COMPAT_SYS(mq_timedreceive)
COMPAT_SYS(mq_notify)
COMPAT_SYS(mq_getsetattr)
COMPAT_SYS(kexec_load)
SYSCALL32(add_key)
SYSCALL32(request_key)
COMPAT_SYS(add_key)
COMPAT_SYS(request_key)
COMPAT_SYS(keyctl)
COMPAT_SYS(waitid)
SYSCALL32(ioprio_set)
SYSCALL32(ioprio_get)
COMPAT_SYS(ioprio_set)
COMPAT_SYS(ioprio_get)
SYSCALL(inotify_init)
SYSCALL(inotify_add_watch)
SYSCALL(inotify_rm_watch)
......@@ -265,7 +265,7 @@ _GLOBAL(save_nvgprs)
*/
_GLOBAL(ppc32_sigsuspend)
bl .save_nvgprs
bl .sys32_sigsuspend
bl .compat_sys_sigsuspend
b 70f
_GLOBAL(ppc64_rt_sigsuspend)
......@@ -275,7 +275,7 @@ _GLOBAL(ppc64_rt_sigsuspend)
_GLOBAL(ppc32_rt_sigsuspend)
bl .save_nvgprs
bl .sys32_rt_sigsuspend
bl .compat_sys_rt_sigsuspend
70: cmpdi 0,r3,0
/* If it returned an error, we need to return via syscall_exit to set
the SO bit in cr0 and potentially stop for ptrace. */
......@@ -310,7 +310,7 @@ _GLOBAL(ppc_clone)
_GLOBAL(ppc32_swapcontext)
bl .save_nvgprs
bl .sys32_swapcontext
bl .compat_sys_swapcontext
b 80f
_GLOBAL(ppc64_swapcontext)
......@@ -319,11 +319,11 @@ _GLOBAL(ppc64_swapcontext)
b 80f
_GLOBAL(ppc32_sigreturn)
bl .sys32_sigreturn
bl .compat_sys_sigreturn
b 80f
_GLOBAL(ppc32_rt_sigreturn)
bl .sys32_rt_sigreturn
bl .compat_sys_rt_sigreturn
b 80f
_GLOBAL(ppc64_rt_sigreturn)
......
......@@ -928,11 +928,11 @@ _GLOBAL(sys_call_table32)
.llong .sys_write
.llong .compat_sys_open /* 5 */
.llong .sys_close
.llong .sys32_waitpid
.llong .sys32_creat
.llong .compat_sys_waitpid
.llong .compat_sys_creat
.llong .sys_link
.llong .sys_unlink /* 10 */
.llong .sys32_execve
.llong .compat_sys_execve
.llong .sys_chdir
.llong .compat_sys_time
.llong .sys_mknod
......@@ -947,20 +947,20 @@ _GLOBAL(sys_call_table32)
.llong .sys_setuid
.llong .sys_getuid
.llong .compat_sys_stime /* 25 */
.llong .sys32_ptrace
.llong .compat_sys_ptrace
.llong .sys_alarm
.llong .sys_ni_syscall /* old fstat syscall */
.llong .sys32_pause
.llong .compat_sys_pause
.llong .compat_sys_utime /* 30 */
.llong .sys_ni_syscall /* old stty syscall */
.llong .sys_ni_syscall /* old gtty syscall */
.llong .sys32_access
.llong .sys32_nice
.llong .compat_sys_access
.llong .compat_sys_nice
.llong .sys_ni_syscall /* 35 - old ftime syscall */
.llong .sys_sync
.llong .sys32_kill
.llong .compat_sys_kill
.llong .sys_rename
.llong .sys32_mkdir
.llong .compat_sys_mkdir
.llong .sys_rmdir /* 40 */
.llong .sys_dup
.llong .sys_pipe
......@@ -978,35 +978,35 @@ _GLOBAL(sys_call_table32)
.llong .compat_sys_ioctl
.llong .compat_sys_fcntl /* 55 */
.llong .sys_ni_syscall /* old mpx syscall */
.llong .sys32_setpgid
.llong .compat_sys_setpgid
.llong .sys_ni_syscall /* old ulimit syscall */
.llong .sys_olduname
.llong .sys32_umask /* 60 */
.llong .compat_sys_umask /* 60 */
.llong .sys_chroot
.llong .sys_ustat
.llong .sys_dup2
.llong .sys_getppid
.llong .sys_getpgrp /* 65 */
.llong .sys_setsid
.llong .sys32_sigaction
.llong .compat_sys_sigaction
.llong .sys_sgetmask
.llong .sys32_ssetmask
.llong .compat_sys_ssetmask
.llong .sys_setreuid /* 70 */
.llong .sys_setregid
.llong .ppc32_sigsuspend
.llong .compat_sys_sigpending
.llong .sys32_sethostname
.llong .compat_sys_sethostname
.llong .compat_sys_setrlimit /* 75 */
.llong .compat_sys_old_getrlimit
.llong .compat_sys_getrusage
.llong .sys32_gettimeofday
.llong .sys32_settimeofday
.llong .sys32_getgroups /* 80 */
.llong .sys32_setgroups
.llong .compat_sys_gettimeofday
.llong .compat_sys_settimeofday
.llong .compat_sys_getgroups /* 80 */
.llong .compat_sys_setgroups
.llong .sys_ni_syscall /* old select syscall */
.llong .sys_symlink
.llong .sys_ni_syscall /* old lstat syscall */
.llong .sys32_readlink /* 85 */
.llong .compat_sys_readlink /* 85 */
.llong .sys_uselib
.llong .sys_swapon
.llong .sys_reboot
......@@ -1017,14 +1017,14 @@ _GLOBAL(sys_call_table32)
.llong .sys_ftruncate
.llong .sys_fchmod
.llong .sys_fchown /* 95 */
.llong .sys32_getpriority
.llong .sys32_setpriority
.llong .compat_sys_getpriority
.llong .compat_sys_setpriority
.llong .sys_ni_syscall /* old profil syscall */
.llong .compat_sys_statfs
.llong .compat_sys_fstatfs /* 100 */
.llong .sys_ni_syscall /* old ioperm syscall */
.llong .compat_sys_socketcall
.llong .sys32_syslog
.llong .compat_sys_syslog
.llong .compat_sys_setitimer
.llong .compat_sys_getitimer /* 105 */
.llong .compat_sys_newstat
......@@ -1037,15 +1037,15 @@ _GLOBAL(sys_call_table32)
.llong .sys_ni_syscall /* old vm86 syscall */
.llong .compat_sys_wait4
.llong .sys_swapoff /* 115 */
.llong .sys32_sysinfo
.llong .sys32_ipc
.llong .compat_sys_sysinfo
.llong .compat_sys_ipc
.llong .sys_fsync
.llong .ppc32_sigreturn
.llong .ppc_clone /* 120 */
.llong .sys32_setdomainname
.llong .compat_sys_setdomainname
.llong .ppc_newuname
.llong .sys_ni_syscall /* old modify_ldt syscall */
.llong .sys32_adjtimex
.llong .compat_sys_adjtimex
.llong .sys_mprotect /* 125 */
.llong .compat_sys_sigprocmask
.llong .sys_ni_syscall /* old create_module syscall */
......@@ -1053,36 +1053,36 @@ _GLOBAL(sys_call_table32)
.llong .sys_delete_module
.llong .sys_ni_syscall /* 130 old get_kernel_syms syscall */
.llong .sys_quotactl
.llong .sys32_getpgid
.llong .compat_sys_getpgid
.llong .sys_fchdir
.llong .sys_bdflush
.llong .sys32_sysfs /* 135 */
.llong .compat_sys_sysfs /* 135 */
.llong .ppc64_personality
.llong .sys_ni_syscall /* for afs_syscall */
.llong .sys_setfsuid
.llong .sys_setfsgid
.llong .sys_llseek /* 140 */
.llong .sys32_getdents
.llong .compat_sys_getdents
.llong .ppc32_select
.llong .sys_flock
.llong .sys_msync
.llong .compat_sys_readv /* 145 */
.llong .compat_sys_writev
.llong .sys32_getsid
.llong .compat_sys_getsid
.llong .sys_fdatasync
.llong .sys32_sysctl
.llong .compat_sys_sysctl
.llong .sys_mlock /* 150 */
.llong .sys_munlock
.llong .sys_mlockall
.llong .sys_munlockall
.llong .sys32_sched_setparam
.llong .sys32_sched_getparam /* 155 */
.llong .sys32_sched_setscheduler
.llong .sys32_sched_getscheduler
.llong .compat_sys_sched_setparam
.llong .compat_sys_sched_getparam /* 155 */
.llong .compat_sys_sched_setscheduler
.llong .compat_sys_sched_getscheduler
.llong .sys_sched_yield
.llong .sys32_sched_get_priority_max
.llong .sys32_sched_get_priority_min /* 160 */
.llong .sys32_sched_rr_get_interval
.llong .compat_sys_sched_get_priority_max
.llong .compat_sys_sched_get_priority_min /* 160 */
.llong .compat_sys_sched_rr_get_interval
.llong .compat_sys_nanosleep
.llong .sys_mremap
.llong .sys_setresuid
......@@ -1092,36 +1092,36 @@ _GLOBAL(sys_call_table32)
.llong .compat_sys_nfsservctl
.llong .sys_setresgid
.llong .sys_getresgid /* 170 */
.llong .sys32_prctl
.llong .compat_sys_prctl
.llong .ppc32_rt_sigreturn
.llong .sys32_rt_sigaction
.llong .sys32_rt_sigprocmask
.llong .sys32_rt_sigpending /* 175 */
.llong .compat_sys_rt_sigaction
.llong .compat_sys_rt_sigprocmask
.llong .compat_sys_rt_sigpending /* 175 */
.llong .compat_sys_rt_sigtimedwait
.llong .sys32_rt_sigqueueinfo
.llong .compat_sys_rt_sigqueueinfo
.llong .ppc32_rt_sigsuspend
.llong .sys32_pread64
.llong .sys32_pwrite64 /* 180 */
.llong .compat_sys_pread64
.llong .compat_sys_pwrite64 /* 180 */
.llong .sys_chown
.llong .sys_getcwd
.llong .sys_capget
.llong .sys_capset
.llong .sys32_sigaltstack /* 185 */
.llong .sys32_sendfile
.llong .compat_sys_sigaltstack /* 185 */
.llong .compat_sys_sendfile
.llong .sys_ni_syscall /* reserved for streams1 */
.llong .sys_ni_syscall /* reserved for streams2 */
.llong .ppc_vfork
.llong .compat_sys_getrlimit /* 190 */
.llong .sys32_readahead
.llong .sys32_mmap2
.llong .sys32_truncate64
.llong .sys32_ftruncate64
.llong .compat_sys_readahead
.llong .compat_sys_mmap2
.llong .compat_sys_truncate64
.llong .compat_sys_ftruncate64
.llong .sys_stat64 /* 195 */
.llong .sys_lstat64
.llong .sys_fstat64
.llong .sys32_pciconfig_read
.llong .sys32_pciconfig_write
.llong .sys32_pciconfig_iobase /* 200 - pciconfig_iobase */
.llong .compat_sys_pciconfig_read
.llong .compat_sys_pciconfig_write
.llong .compat_sys_pciconfig_iobase /* 200 - pciconfig_iobase */
.llong .sys_ni_syscall /* reserved for MacOnLinux */
.llong .sys_getdents64
.llong .sys_pivot_root
......@@ -1147,7 +1147,7 @@ _GLOBAL(sys_call_table32)
.llong .compat_sys_sched_getaffinity
.llong .sys_ni_syscall
.llong .sys_ni_syscall /* 225 - reserved for tux */
.llong .sys32_sendfile64
.llong .compat_sys_sendfile64
.llong .compat_sys_io_setup
.llong .sys_io_destroy
.llong .compat_sys_io_getevents
......@@ -1171,8 +1171,8 @@ _GLOBAL(sys_call_table32)
.llong .compat_sys_clock_getres
.llong .compat_sys_clock_nanosleep
.llong .ppc32_swapcontext
.llong .sys32_tgkill /* 250 */
.llong .sys32_utimes
.llong .compat_sys_tgkill /* 250 */
.llong .compat_sys_utimes
.llong .compat_sys_statfs64
.llong .compat_sys_fstatfs64
.llong .ppc32_fadvise64_64 /* 32bit only fadvise64_64 */
......@@ -1190,12 +1190,12 @@ _GLOBAL(sys_call_table32)
.llong .compat_sys_mq_notify
.llong .compat_sys_mq_getsetattr
.llong .compat_sys_kexec_load
.llong .sys32_add_key
.llong .sys32_request_key /* 270 */
.llong .compat_sys_add_key
.llong .compat_sys_request_key /* 270 */
.llong .compat_sys_keyctl
.llong .compat_sys_waitid
.llong .sys32_ioprio_set
.llong .sys32_ioprio_get
.llong .compat_sys_ioprio_set
.llong .compat_sys_ioprio_get
.llong .sys_inotify_init /* 275 */
.llong .sys_inotify_add_watch
.llong .sys_inotify_rm_watch
......
......@@ -40,7 +40,7 @@
* 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;
int ret = -EPERM;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册