Commit 8844a509 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'misc.sparc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs

Pull sparc syscall cleanups from Al Viro:
 "sparc syscall stuff - killing pointless wrappers, conversions to
  {COMPAT_,}SYSCALL_DEFINE"

* 'misc.sparc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  sparc: get rid of asm wrapper for nis_syscall()
  sparc: switch compat {f,}truncate64() to COMPAT_SYSCALL_DEFINE
  sparc: switch compat pread64 and pwrite64 to COMPAT_SYSCALL_DEFINE
  convert compat sync_file_range() to COMPAT_SYSCALL_DEFINE
  switch sparc_remap_file_pages() to SYSCALL_DEFINE
  sparc: get rid of memory_ordering(2) wrapper
  sparc: trivial conversions to {COMPAT_,}SYSCALL_DEFINE()
  sparc: bury a zombie extern that had been that way for twenty years
  sparc: get rid of remaining SIGN... wrappers
  sparc: kill useless SIGN... wrappers
  sparc: get rid of sys_sparc_pipe() wrappers
parents 90fda63f 47db6975
...@@ -801,26 +801,11 @@ SUN_PI_(lda [%l4] ASI_M_MMUREGS, %l5) ! read sfsr last ...@@ -801,26 +801,11 @@ SUN_PI_(lda [%l4] ASI_M_MMUREGS, %l5) ! read sfsr last
RESTORE_ALL RESTORE_ALL
.align 4 .align 4
.globl sys_nis_syscall
sys_nis_syscall:
mov %o7, %l5
add %sp, STACKFRAME_SZ, %o0 ! pt_regs *regs arg
call c_sys_nis_syscall
mov %l5, %o7
sunos_execv: sunos_execv:
.globl sunos_execv .globl sunos_execv
b sys_execve b sys_execve
clr %i2 clr %i2
.align 4
.globl sys_sparc_pipe
sys_sparc_pipe:
mov %o7, %l5
add %sp, STACKFRAME_SZ, %o0 ! pt_regs *regs arg
call sparc_pipe
mov %l5, %o7
.align 4 .align 4
.globl sys_sigstack .globl sys_sigstack
sys_sigstack: sys_sigstack:
......
...@@ -13,44 +13,6 @@ ...@@ -13,44 +13,6 @@
.text .text
#define SIGN1(STUB,SYSCALL,REG1) \
.align 32; \
.globl STUB; \
STUB: sethi %hi(SYSCALL), %g1; \
jmpl %g1 + %lo(SYSCALL), %g0; \
sra REG1, 0, REG1
#define SIGN2(STUB,SYSCALL,REG1,REG2) \
.align 32; \
.globl STUB; \
STUB: sethi %hi(SYSCALL), %g1; \
sra REG1, 0, REG1; \
jmpl %g1 + %lo(SYSCALL), %g0; \
sra REG2, 0, REG2
#define SIGN3(STUB,SYSCALL,REG1,REG2,REG3) \
.align 32; \
.globl STUB; \
STUB: sra REG1, 0, REG1; \
sethi %hi(SYSCALL), %g1; \
sra REG2, 0, REG2; \
jmpl %g1 + %lo(SYSCALL), %g0; \
sra REG3, 0, REG3
SIGN1(sys32_readahead, compat_sys_readahead, %o0)
SIGN2(sys32_fadvise64, compat_sys_fadvise64, %o0, %o4)
SIGN2(sys32_fadvise64_64, compat_sys_fadvise64_64, %o0, %o5)
SIGN1(sys32_clock_nanosleep, compat_sys_clock_nanosleep, %o1)
SIGN1(sys32_timer_settime, compat_sys_timer_settime, %o1)
SIGN1(sys32_io_submit, compat_sys_io_submit, %o1)
SIGN1(sys32_mq_open, compat_sys_mq_open, %o1)
SIGN1(sys32_select, compat_sys_select, %o0)
SIGN1(sys32_futex, compat_sys_futex, %o1)
SIGN1(sys32_recvfrom, compat_sys_recvfrom, %o0)
SIGN1(sys32_recvmsg, compat_sys_recvmsg, %o0)
SIGN1(sys32_sendmsg, compat_sys_sendmsg, %o0)
SIGN2(sys32_renameat2, sys_renameat2, %o0, %o2)
.globl sys32_mmap2 .globl sys32_mmap2
sys32_mmap2: sys32_mmap2:
sethi %hi(sys_mmap), %g1 sethi %hi(sys_mmap), %g1
......
...@@ -52,20 +52,14 @@ ...@@ -52,20 +52,14 @@
#include "systbls.h" #include "systbls.h"
asmlinkage long sys32_truncate64(const char __user * path, unsigned long high, unsigned long low) COMPAT_SYSCALL_DEFINE3(truncate64, const char __user *, path, u32, high, u32, low)
{ {
if ((int)high < 0) return ksys_truncate(path, ((u64)high << 32) | low);
return -EINVAL;
else
return ksys_truncate(path, (high << 32) | low);
} }
asmlinkage long sys32_ftruncate64(unsigned int fd, unsigned long high, unsigned long low) COMPAT_SYSCALL_DEFINE3(ftruncate64, unsigned int, fd, u32, high, u32, low)
{ {
if ((int)high < 0) return ksys_ftruncate(fd, ((u64)high << 32) | low);
return -EINVAL;
else
return ksys_ftruncate(fd, (high << 32) | low);
} }
static int cp_compat_stat64(struct kstat *stat, static int cp_compat_stat64(struct kstat *stat,
...@@ -98,8 +92,8 @@ static int cp_compat_stat64(struct kstat *stat, ...@@ -98,8 +92,8 @@ static int cp_compat_stat64(struct kstat *stat,
return err; return err;
} }
asmlinkage long compat_sys_stat64(const char __user * filename, COMPAT_SYSCALL_DEFINE2(stat64, const char __user *, filename,
struct compat_stat64 __user *statbuf) struct compat_stat64 __user *, statbuf)
{ {
struct kstat stat; struct kstat stat;
int error = vfs_stat(filename, &stat); int error = vfs_stat(filename, &stat);
...@@ -109,8 +103,8 @@ asmlinkage long compat_sys_stat64(const char __user * filename, ...@@ -109,8 +103,8 @@ asmlinkage long compat_sys_stat64(const char __user * filename,
return error; return error;
} }
asmlinkage long compat_sys_lstat64(const char __user * filename, COMPAT_SYSCALL_DEFINE2(lstat64, const char __user *, filename,
struct compat_stat64 __user *statbuf) struct compat_stat64 __user *, statbuf)
{ {
struct kstat stat; struct kstat stat;
int error = vfs_lstat(filename, &stat); int error = vfs_lstat(filename, &stat);
...@@ -120,8 +114,8 @@ asmlinkage long compat_sys_lstat64(const char __user * filename, ...@@ -120,8 +114,8 @@ asmlinkage long compat_sys_lstat64(const char __user * filename,
return error; return error;
} }
asmlinkage long compat_sys_fstat64(unsigned int fd, COMPAT_SYSCALL_DEFINE2(fstat64, unsigned int, fd,
struct compat_stat64 __user * statbuf) struct compat_stat64 __user *, statbuf)
{ {
struct kstat stat; struct kstat stat;
int error = vfs_fstat(fd, &stat); int error = vfs_fstat(fd, &stat);
...@@ -131,9 +125,9 @@ asmlinkage long compat_sys_fstat64(unsigned int fd, ...@@ -131,9 +125,9 @@ asmlinkage long compat_sys_fstat64(unsigned int fd,
return error; return error;
} }
asmlinkage long compat_sys_fstatat64(unsigned int dfd, COMPAT_SYSCALL_DEFINE4(fstatat64, unsigned int, dfd,
const char __user *filename, const char __user *, filename,
struct compat_stat64 __user * statbuf, int flag) struct compat_stat64 __user *, statbuf, int, flag)
{ {
struct kstat stat; struct kstat stat;
int error; int error;
...@@ -194,61 +188,50 @@ COMPAT_SYSCALL_DEFINE5(rt_sigaction, int, sig, ...@@ -194,61 +188,50 @@ COMPAT_SYSCALL_DEFINE5(rt_sigaction, int, sig,
return ret; return ret;
} }
asmlinkage compat_ssize_t sys32_pread64(unsigned int fd, COMPAT_SYSCALL_DEFINE5(pread64, unsigned int, fd, char __user *, ubuf,
char __user *ubuf, compat_size_t, count, u32, poshi, u32, poslo)
compat_size_t count,
unsigned long poshi,
unsigned long poslo)
{ {
return ksys_pread64(fd, ubuf, count, (poshi << 32) | poslo); return ksys_pread64(fd, ubuf, count, ((u64)poshi << 32) | poslo);
} }
asmlinkage compat_ssize_t sys32_pwrite64(unsigned int fd, COMPAT_SYSCALL_DEFINE5(pwrite64, unsigned int, fd, char __user *, ubuf,
char __user *ubuf, compat_size_t, count, u32, poshi, u32, poslo)
compat_size_t count,
unsigned long poshi,
unsigned long poslo)
{ {
return ksys_pwrite64(fd, ubuf, count, (poshi << 32) | poslo); return ksys_pwrite64(fd, ubuf, count, ((u64)poshi << 32) | poslo);
} }
asmlinkage long compat_sys_readahead(int fd, COMPAT_SYSCALL_DEFINE4(readahead, int, fd, u32, offhi, u32, offlo,
unsigned long offhi, compat_size_t, count)
unsigned long offlo,
compat_size_t count)
{ {
return ksys_readahead(fd, (offhi << 32) | offlo, count); return ksys_readahead(fd, ((u64)offhi << 32) | offlo, count);
} }
long compat_sys_fadvise64(int fd, COMPAT_SYSCALL_DEFINE5(fadvise64, int, fd, u32, offhi, u32, offlo,
unsigned long offhi, compat_size_t, len, int, advice)
unsigned long offlo,
compat_size_t len, int advice)
{ {
return ksys_fadvise64_64(fd, (offhi << 32) | offlo, len, advice); return ksys_fadvise64_64(fd, ((u64)offhi << 32) | offlo, len, advice);
} }
long compat_sys_fadvise64_64(int fd, COMPAT_SYSCALL_DEFINE6(fadvise64_64, int, fd, u32, offhi, u32, offlo,
unsigned long offhi, unsigned long offlo, u32, lenhi, u32, lenlo, int, advice)
unsigned long lenhi, unsigned long lenlo,
int advice)
{ {
return ksys_fadvise64_64(fd, return ksys_fadvise64_64(fd,
(offhi << 32) | offlo, ((u64)offhi << 32) | offlo,
(lenhi << 32) | lenlo, ((u64)lenhi << 32) | lenlo,
advice); advice);
} }
long sys32_sync_file_range(unsigned int fd, unsigned long off_high, unsigned long off_low, unsigned long nb_high, unsigned long nb_low, unsigned int flags) COMPAT_SYSCALL_DEFINE6(sync_file_range, unsigned int, fd, u32, off_high, u32, off_low,
u32, nb_high, u32, nb_low, unsigned int, flags)
{ {
return ksys_sync_file_range(fd, return ksys_sync_file_range(fd,
(off_high << 32) | off_low, ((u64)off_high << 32) | off_low,
(nb_high << 32) | nb_low, ((u64)nb_high << 32) | nb_low,
flags); flags);
} }
asmlinkage long compat_sys_fallocate(int fd, int mode, u32 offhi, u32 offlo, COMPAT_SYSCALL_DEFINE6(fallocate, int, fd, int, mode, u32, offhi, u32, offlo,
u32 lenhi, u32 lenlo) u32, lenhi, u32, lenlo)
{ {
return ksys_fallocate(fd, mode, ((loff_t)offhi << 32) | offlo, return ksys_fallocate(fd, mode, ((loff_t)offhi << 32) | offlo,
((loff_t)lenhi << 32) | lenlo); ((loff_t)lenhi << 32) | lenlo);
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
/* XXX Make this per-binary type, this way we can detect the type of /* XXX Make this per-binary type, this way we can detect the type of
* XXX a binary. Every Sparc executable calls this very early on. * XXX a binary. Every Sparc executable calls this very early on.
*/ */
asmlinkage unsigned long sys_getpagesize(void) SYSCALL_DEFINE0(getpagesize)
{ {
return PAGE_SIZE; /* Possibly older binaries want 8192 on sun4's? */ return PAGE_SIZE; /* Possibly older binaries want 8192 on sun4's? */
} }
...@@ -73,7 +73,7 @@ unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr, unsi ...@@ -73,7 +73,7 @@ unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr, unsi
* sys_pipe() is the normal C calling standard for creating * sys_pipe() is the normal C calling standard for creating
* a pipe. It's not the way unix traditionally does this, though. * a pipe. It's not the way unix traditionally does this, though.
*/ */
asmlinkage long sparc_pipe(struct pt_regs *regs) SYSCALL_DEFINE0(sparc_pipe)
{ {
int fd[2]; int fd[2];
int error; int error;
...@@ -81,7 +81,7 @@ asmlinkage long sparc_pipe(struct pt_regs *regs) ...@@ -81,7 +81,7 @@ asmlinkage long sparc_pipe(struct pt_regs *regs)
error = do_pipe_flags(fd, 0); error = do_pipe_flags(fd, 0);
if (error) if (error)
goto out; goto out;
regs->u_regs[UREG_I1] = fd[1]; current_pt_regs()->u_regs[UREG_I1] = fd[1];
error = fd[0]; error = fd[0];
out: out:
return error; return error;
...@@ -98,9 +98,9 @@ int sparc_mmap_check(unsigned long addr, unsigned long len) ...@@ -98,9 +98,9 @@ int sparc_mmap_check(unsigned long addr, unsigned long len)
/* Linux version of mmap */ /* Linux version of mmap */
asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len,
unsigned long prot, unsigned long flags, unsigned long fd, unsigned long, prot, unsigned long, flags, unsigned long, fd,
unsigned long pgoff) unsigned long, pgoff)
{ {
/* Make sure the shift for mmap2 is constant (12), no matter what PAGE_SIZE /* Make sure the shift for mmap2 is constant (12), no matter what PAGE_SIZE
we have. */ we have. */
...@@ -108,17 +108,17 @@ asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, ...@@ -108,17 +108,17 @@ asmlinkage long sys_mmap2(unsigned long addr, unsigned long len,
pgoff >> (PAGE_SHIFT - 12)); pgoff >> (PAGE_SHIFT - 12));
} }
asmlinkage long sys_mmap(unsigned long addr, unsigned long len, SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
unsigned long prot, unsigned long flags, unsigned long fd, unsigned long, prot, unsigned long, flags, unsigned long, fd,
unsigned long off) unsigned long, off)
{ {
/* no alignment check? */ /* no alignment check? */
return ksys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); return ksys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT);
} }
long sparc_remap_file_pages(unsigned long start, unsigned long size, SYSCALL_DEFINE5(sparc_remap_file_pages, unsigned long, start, unsigned long, size,
unsigned long prot, unsigned long pgoff, unsigned long, prot, unsigned long, pgoff,
unsigned long flags) unsigned long, flags)
{ {
/* This works on an existing mmap so we don't need to validate /* This works on an existing mmap so we don't need to validate
* the range as that was done at the original mmap call. * the range as that was done at the original mmap call.
...@@ -127,11 +127,10 @@ long sparc_remap_file_pages(unsigned long start, unsigned long size, ...@@ -127,11 +127,10 @@ long sparc_remap_file_pages(unsigned long start, unsigned long size,
(pgoff >> (PAGE_SHIFT - 12)), flags); (pgoff >> (PAGE_SHIFT - 12)), flags);
} }
/* we come to here via sys_nis_syscall so it can setup the regs argument */ SYSCALL_DEFINE0(nis_syscall)
asmlinkage unsigned long
c_sys_nis_syscall (struct pt_regs *regs)
{ {
static int count = 0; static int count = 0;
struct pt_regs *regs = current_pt_regs();
if (count++ > 5) if (count++ > 5)
return -ENOSYS; return -ENOSYS;
...@@ -202,7 +201,7 @@ SYSCALL_DEFINE5(rt_sigaction, int, sig, ...@@ -202,7 +201,7 @@ SYSCALL_DEFINE5(rt_sigaction, int, sig,
return ret; return ret;
} }
asmlinkage long sys_getdomainname(char __user *name, int len) SYSCALL_DEFINE2(getdomainname, char __user *, name, int, len)
{ {
int nlen, err; int nlen, err;
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
/* #define DEBUG_UNIMP_SYSCALL */ /* #define DEBUG_UNIMP_SYSCALL */
asmlinkage unsigned long sys_getpagesize(void) SYSCALL_DEFINE0(getpagesize)
{ {
return PAGE_SIZE; return PAGE_SIZE;
} }
...@@ -310,7 +310,7 @@ void arch_pick_mmap_layout(struct mm_struct *mm) ...@@ -310,7 +310,7 @@ void arch_pick_mmap_layout(struct mm_struct *mm)
* sys_pipe() is the normal C calling standard for creating * sys_pipe() is the normal C calling standard for creating
* a pipe. It's not the way unix traditionally does this, though. * a pipe. It's not the way unix traditionally does this, though.
*/ */
SYSCALL_DEFINE1(sparc_pipe_real, struct pt_regs *, regs) SYSCALL_DEFINE0(sparc_pipe)
{ {
int fd[2]; int fd[2];
int error; int error;
...@@ -318,7 +318,7 @@ SYSCALL_DEFINE1(sparc_pipe_real, struct pt_regs *, regs) ...@@ -318,7 +318,7 @@ SYSCALL_DEFINE1(sparc_pipe_real, struct pt_regs *, regs)
error = do_pipe_flags(fd, 0); error = do_pipe_flags(fd, 0);
if (error) if (error)
goto out; goto out;
regs->u_regs[UREG_I1] = fd[1]; current_pt_regs()->u_regs[UREG_I1] = fd[1];
error = fd[0]; error = fd[0];
out: out:
return error; return error;
...@@ -480,10 +480,10 @@ SYSCALL_DEFINE5(64_mremap, unsigned long, addr, unsigned long, old_len, ...@@ -480,10 +480,10 @@ SYSCALL_DEFINE5(64_mremap, unsigned long, addr, unsigned long, old_len,
return sys_mremap(addr, old_len, new_len, flags, new_addr); return sys_mremap(addr, old_len, new_len, flags, new_addr);
} }
/* we come to here via sys_nis_syscall so it can setup the regs argument */ SYSCALL_DEFINE0(nis_syscall)
asmlinkage unsigned long c_sys_nis_syscall(struct pt_regs *regs)
{ {
static int count; static int count;
struct pt_regs *regs = current_pt_regs();
/* Don't make the system unusable, if someone goes stuck */ /* Don't make the system unusable, if someone goes stuck */
if (count++ > 5) if (count++ > 5)
...@@ -523,8 +523,6 @@ asmlinkage void sparc_breakpoint(struct pt_regs *regs) ...@@ -523,8 +523,6 @@ asmlinkage void sparc_breakpoint(struct pt_regs *regs)
exception_exit(prev_state); exception_exit(prev_state);
} }
extern void check_pending(int signum);
SYSCALL_DEFINE2(getdomainname, char __user *, name, int, len) SYSCALL_DEFINE2(getdomainname, char __user *, name, int, len)
{ {
int nlen, err; int nlen, err;
...@@ -608,9 +606,9 @@ SYSCALL_DEFINE5(utrap_install, utrap_entry_t, type, ...@@ -608,9 +606,9 @@ SYSCALL_DEFINE5(utrap_install, utrap_entry_t, type,
return 0; return 0;
} }
asmlinkage long sparc_memory_ordering(unsigned long model, SYSCALL_DEFINE1(memory_ordering, unsigned long, model)
struct pt_regs *regs)
{ {
struct pt_regs *regs = current_pt_regs();
if (model >= 3) if (model >= 3)
return -EINVAL; return -EINVAL;
regs->tstate = (regs->tstate & ~TSTATE_MM) | (model << 14); regs->tstate = (regs->tstate & ~TSTATE_MM) | (model << 14);
...@@ -644,7 +642,7 @@ SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act, ...@@ -644,7 +642,7 @@ SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act,
return ret; return ret;
} }
asmlinkage long sys_kern_features(void) SYSCALL_DEFINE0(kern_features)
{ {
return KERN_FEATURE_MIXED_MODE_STACK; return KERN_FEATURE_MIXED_MODE_STACK;
} }
...@@ -27,15 +27,6 @@ sys32_execveat: ...@@ -27,15 +27,6 @@ sys32_execveat:
#endif #endif
.align 32 .align 32
sys_sparc_pipe:
ba,pt %xcc, sys_sparc_pipe_real
add %sp, PTREGS_OFF, %o0
sys_nis_syscall:
ba,pt %xcc, c_sys_nis_syscall
add %sp, PTREGS_OFF, %o0
sys_memory_ordering:
ba,pt %xcc, sparc_memory_ordering
add %sp, PTREGS_OFF, %o1
#ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT
sys32_sigstack: sys32_sigstack:
ba,pt %xcc, do_sys32_sigstack ba,pt %xcc, do_sys32_sigstack
......
...@@ -9,9 +9,9 @@ ...@@ -9,9 +9,9 @@
#include <asm/utrap.h> #include <asm/utrap.h>
asmlinkage unsigned long sys_getpagesize(void); asmlinkage long sys_getpagesize(void);
asmlinkage long sparc_pipe(struct pt_regs *regs); asmlinkage long sys_sparc_pipe(void);
asmlinkage unsigned long c_sys_nis_syscall(struct pt_regs *regs); asmlinkage long sys_nis_syscall(void);
asmlinkage long sys_getdomainname(char __user *name, int len); asmlinkage long sys_getdomainname(char __user *name, int len);
void do_rt_sigreturn(struct pt_regs *regs); void do_rt_sigreturn(struct pt_regs *regs);
asmlinkage long sys_mmap(unsigned long addr, unsigned long len, asmlinkage long sys_mmap(unsigned long addr, unsigned long len,
...@@ -23,7 +23,7 @@ asmlinkage void sparc_breakpoint(struct pt_regs *regs); ...@@ -23,7 +23,7 @@ asmlinkage void sparc_breakpoint(struct pt_regs *regs);
asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, asmlinkage long sys_mmap2(unsigned long addr, unsigned long 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);
long sparc_remap_file_pages(unsigned long start, unsigned long size, long sys_sparc_remap_file_pages(unsigned long start, unsigned long size,
unsigned long prot, unsigned long pgoff, unsigned long prot, unsigned long pgoff,
unsigned long flags); unsigned long flags);
...@@ -46,16 +46,15 @@ asmlinkage long sys_utrap_install(utrap_entry_t type, ...@@ -46,16 +46,15 @@ asmlinkage long sys_utrap_install(utrap_entry_t type,
utrap_handler_t new_d, utrap_handler_t new_d,
utrap_handler_t __user *old_p, utrap_handler_t __user *old_p,
utrap_handler_t __user *old_d); utrap_handler_t __user *old_d);
asmlinkage long sparc_memory_ordering(unsigned long model, asmlinkage long sys_memory_ordering(unsigned long model);
struct pt_regs *regs);
asmlinkage void sparc64_set_context(struct pt_regs *regs); asmlinkage void sparc64_set_context(struct pt_regs *regs);
asmlinkage void sparc64_get_context(struct pt_regs *regs); asmlinkage void sparc64_get_context(struct pt_regs *regs);
asmlinkage long sys32_truncate64(const char __user * path, asmlinkage long compat_sys_truncate64(const char __user * path,
unsigned long high, u32 high,
unsigned long low); u32 low);
asmlinkage long sys32_ftruncate64(unsigned int fd, asmlinkage long compat_sys_ftruncate64(unsigned int fd,
unsigned long high, u32 high,
unsigned long low); u32 low);
struct compat_stat64; struct compat_stat64;
asmlinkage long compat_sys_stat64(const char __user * filename, asmlinkage long compat_sys_stat64(const char __user * filename,
struct compat_stat64 __user *statbuf); struct compat_stat64 __user *statbuf);
...@@ -66,31 +65,31 @@ asmlinkage long compat_sys_fstat64(unsigned int fd, ...@@ -66,31 +65,31 @@ asmlinkage long compat_sys_fstat64(unsigned int fd,
asmlinkage long compat_sys_fstatat64(unsigned int dfd, asmlinkage long compat_sys_fstatat64(unsigned int dfd,
const char __user *filename, const char __user *filename,
struct compat_stat64 __user * statbuf, int flag); struct compat_stat64 __user * statbuf, int flag);
asmlinkage compat_ssize_t sys32_pread64(unsigned int fd, asmlinkage long compat_sys_pread64(unsigned int fd,
char __user *ubuf, char __user *ubuf,
compat_size_t count, compat_size_t count,
unsigned long poshi, u32 poshi,
unsigned long poslo); u32 poslo);
asmlinkage compat_ssize_t sys32_pwrite64(unsigned int fd, asmlinkage long compat_sys_pwrite64(unsigned int fd,
char __user *ubuf, char __user *ubuf,
compat_size_t count, compat_size_t count,
unsigned long poshi, u32 poshi,
unsigned long poslo); u32 poslo);
asmlinkage long compat_sys_readahead(int fd, asmlinkage long compat_sys_readahead(int fd,
unsigned long offhi, unsigned offhi,
unsigned long offlo, unsigned offlo,
compat_size_t count); compat_size_t count);
long compat_sys_fadvise64(int fd, long compat_sys_fadvise64(int fd,
unsigned long offhi, unsigned offhi,
unsigned long offlo, unsigned offlo,
compat_size_t len, int advice); compat_size_t len, int advice);
long compat_sys_fadvise64_64(int fd, long compat_sys_fadvise64_64(int fd,
unsigned long offhi, unsigned long offlo, unsigned offhi, unsigned offlo,
unsigned long lenhi, unsigned long lenlo, unsigned lenhi, unsigned lenlo,
int advice); int advice);
long sys32_sync_file_range(unsigned int fd, long compat_sys_sync_file_range(unsigned int fd,
unsigned long off_high, unsigned long off_low, unsigned off_high, unsigned off_low,
unsigned long nb_high, unsigned long nb_low, unsigned nb_high, unsigned nb_low,
unsigned int flags); unsigned int flags);
asmlinkage long compat_sys_fallocate(int fd, int mode, u32 offhi, u32 offlo, asmlinkage long compat_sys_fallocate(int fd, int mode, u32 offhi, u32 offlo,
u32 lenhi, u32 lenlo); u32 lenhi, u32 lenlo);
......
...@@ -55,7 +55,7 @@ sys_call_table: ...@@ -55,7 +55,7 @@ sys_call_table:
/*175*/ .long sys_setsid, sys_fchdir, sys_fgetxattr, sys_listxattr, sys_llistxattr /*175*/ .long sys_setsid, sys_fchdir, sys_fgetxattr, sys_listxattr, sys_llistxattr
/*180*/ .long sys_flistxattr, sys_removexattr, sys_lremovexattr, sys_sigpending, sys_ni_syscall /*180*/ .long sys_flistxattr, sys_removexattr, sys_lremovexattr, sys_sigpending, sys_ni_syscall
/*185*/ .long sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sys_newuname /*185*/ .long sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sys_newuname
/*190*/ .long sys_init_module, sys_personality, sparc_remap_file_pages, sys_epoll_create, sys_epoll_ctl /*190*/ .long sys_init_module, sys_personality, sys_sparc_remap_file_pages, sys_epoll_create, sys_epoll_ctl
/*195*/ .long sys_epoll_wait, sys_ioprio_set, sys_getppid, sys_sparc_sigaction, sys_sgetmask /*195*/ .long sys_epoll_wait, sys_ioprio_set, sys_getppid, sys_sparc_sigaction, sys_sgetmask
/*200*/ .long sys_ssetmask, sys_sigsuspend, sys_newlstat, sys_uselib, sys_old_readdir /*200*/ .long sys_ssetmask, sys_sigsuspend, sys_newlstat, sys_uselib, sys_old_readdir
/*205*/ .long sys_readahead, sys_socketcall, sys_syslog, sys_lookup_dcookie, sys_fadvise64 /*205*/ .long sys_readahead, sys_socketcall, sys_syslog, sys_lookup_dcookie, sys_fadvise64
......
...@@ -32,12 +32,12 @@ sys_call_table32: ...@@ -32,12 +32,12 @@ sys_call_table32:
/*50*/ .word sys_getegid16, sys_acct, sys_nis_syscall, sys_getgid, compat_sys_ioctl /*50*/ .word sys_getegid16, sys_acct, sys_nis_syscall, sys_getgid, compat_sys_ioctl
.word sys_reboot, sys32_mmap2, sys_symlink, sys_readlink, sys32_execve .word sys_reboot, sys32_mmap2, sys_symlink, sys_readlink, sys32_execve
/*60*/ .word sys_umask, sys_chroot, compat_sys_newfstat, compat_sys_fstat64, sys_getpagesize /*60*/ .word sys_umask, sys_chroot, compat_sys_newfstat, compat_sys_fstat64, sys_getpagesize
.word sys_msync, sys_vfork, sys32_pread64, sys32_pwrite64, sys_geteuid .word sys_msync, sys_vfork, compat_sys_pread64, compat_sys_pwrite64, sys_geteuid
/*70*/ .word sys_getegid, sys_mmap, sys_setreuid, sys_munmap, sys_mprotect /*70*/ .word sys_getegid, sys_mmap, sys_setreuid, sys_munmap, sys_mprotect
.word sys_madvise, sys_vhangup, sys32_truncate64, sys_mincore, sys_getgroups16 .word sys_madvise, sys_vhangup, compat_sys_truncate64, sys_mincore, sys_getgroups16
/*80*/ .word sys_setgroups16, sys_getpgrp, sys_setgroups, compat_sys_setitimer, sys32_ftruncate64 /*80*/ .word sys_setgroups16, sys_getpgrp, sys_setgroups, compat_sys_setitimer, compat_sys_ftruncate64
.word sys_swapon, compat_sys_getitimer, sys_setuid, sys_sethostname, sys_setgid .word sys_swapon, compat_sys_getitimer, sys_setuid, sys_sethostname, sys_setgid
/*90*/ .word sys_dup2, sys_setfsuid, compat_sys_fcntl, sys32_select, sys_setfsgid /*90*/ .word sys_dup2, sys_setfsuid, compat_sys_fcntl, compat_sys_select, sys_setfsgid
.word sys_fsync, sys_setpriority, sys_socket, sys_connect, sys_accept .word sys_fsync, sys_setpriority, sys_socket, sys_connect, sys_accept
/*100*/ .word sys_getpriority, sys32_rt_sigreturn, compat_sys_rt_sigaction, compat_sys_rt_sigprocmask, compat_sys_rt_sigpending /*100*/ .word sys_getpriority, sys32_rt_sigreturn, compat_sys_rt_sigaction, compat_sys_rt_sigprocmask, compat_sys_rt_sigpending
.word compat_sys_rt_sigtimedwait, compat_sys_rt_sigqueueinfo, compat_sys_rt_sigsuspend, sys_setresuid, sys_getresuid .word compat_sys_rt_sigtimedwait, compat_sys_rt_sigqueueinfo, compat_sys_rt_sigsuspend, sys_setresuid, sys_getresuid
...@@ -47,7 +47,7 @@ sys_call_table32: ...@@ -47,7 +47,7 @@ sys_call_table32:
.word sys_recvfrom, sys_setreuid16, sys_setregid16, sys_rename, compat_sys_truncate .word sys_recvfrom, sys_setreuid16, sys_setregid16, sys_rename, compat_sys_truncate
/*130*/ .word compat_sys_ftruncate, sys_flock, compat_sys_lstat64, sys_sendto, sys_shutdown /*130*/ .word compat_sys_ftruncate, sys_flock, compat_sys_lstat64, sys_sendto, sys_shutdown
.word sys_socketpair, sys_mkdir, sys_rmdir, compat_sys_utimes, compat_sys_stat64 .word sys_socketpair, sys_mkdir, sys_rmdir, compat_sys_utimes, compat_sys_stat64
/*140*/ .word sys_sendfile64, sys_nis_syscall, sys32_futex, sys_gettid, compat_sys_getrlimit /*140*/ .word sys_sendfile64, sys_nis_syscall, compat_sys_futex, sys_gettid, compat_sys_getrlimit
.word compat_sys_setrlimit, sys_pivot_root, sys_prctl, sys_pciconfig_read, sys_pciconfig_write .word compat_sys_setrlimit, sys_pivot_root, sys_prctl, sys_pciconfig_read, sys_pciconfig_write
/*150*/ .word sys_nis_syscall, sys_inotify_init, sys_inotify_add_watch, sys_poll, sys_getdents64 /*150*/ .word sys_nis_syscall, sys_inotify_init, sys_inotify_add_watch, sys_poll, sys_getdents64
.word compat_sys_fcntl64, sys_inotify_rm_watch, compat_sys_statfs, compat_sys_fstatfs, sys_oldumount .word compat_sys_fcntl64, sys_inotify_rm_watch, compat_sys_statfs, compat_sys_fstatfs, sys_oldumount
...@@ -60,20 +60,20 @@ sys_call_table32: ...@@ -60,20 +60,20 @@ sys_call_table32:
/*190*/ .word sys_init_module, sys_sparc64_personality, sys_remap_file_pages, sys_epoll_create, sys_epoll_ctl /*190*/ .word sys_init_module, sys_sparc64_personality, sys_remap_file_pages, sys_epoll_create, sys_epoll_ctl
.word sys_epoll_wait, sys_ioprio_set, sys_getppid, compat_sys_sparc_sigaction, sys_sgetmask .word sys_epoll_wait, sys_ioprio_set, sys_getppid, compat_sys_sparc_sigaction, sys_sgetmask
/*200*/ .word sys_ssetmask, sys_sigsuspend, compat_sys_newlstat, sys_uselib, compat_sys_old_readdir /*200*/ .word sys_ssetmask, sys_sigsuspend, compat_sys_newlstat, sys_uselib, compat_sys_old_readdir
.word sys32_readahead, sys32_socketcall, sys_syslog, compat_sys_lookup_dcookie, sys32_fadvise64 .word compat_sys_readahead, sys32_socketcall, sys_syslog, compat_sys_lookup_dcookie, compat_sys_fadvise64
/*210*/ .word sys32_fadvise64_64, sys_tgkill, sys_waitpid, sys_swapoff, compat_sys_sysinfo /*210*/ .word compat_sys_fadvise64_64, sys_tgkill, sys_waitpid, sys_swapoff, compat_sys_sysinfo
.word compat_sys_ipc, sys32_sigreturn, sys_clone, sys_ioprio_get, compat_sys_adjtimex .word compat_sys_ipc, sys32_sigreturn, sys_clone, sys_ioprio_get, compat_sys_adjtimex
/*220*/ .word compat_sys_sigprocmask, sys_ni_syscall, sys_delete_module, sys_ni_syscall, sys_getpgid /*220*/ .word compat_sys_sigprocmask, sys_ni_syscall, sys_delete_module, sys_ni_syscall, sys_getpgid
.word sys_bdflush, sys_sysfs, sys_nis_syscall, sys_setfsuid16, sys_setfsgid16 .word sys_bdflush, sys_sysfs, sys_nis_syscall, sys_setfsuid16, sys_setfsgid16
/*230*/ .word sys32_select, compat_sys_time, sys_splice, compat_sys_stime, compat_sys_statfs64 /*230*/ .word compat_sys_select, compat_sys_time, sys_splice, compat_sys_stime, compat_sys_statfs64
.word compat_sys_fstatfs64, sys_llseek, sys_mlock, sys_munlock, sys_mlockall .word compat_sys_fstatfs64, sys_llseek, sys_mlock, sys_munlock, sys_mlockall
/*240*/ .word sys_munlockall, sys_sched_setparam, sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler /*240*/ .word sys_munlockall, sys_sched_setparam, sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler
.word sys_sched_yield, sys_sched_get_priority_max, sys_sched_get_priority_min, compat_sys_sched_rr_get_interval, compat_sys_nanosleep .word sys_sched_yield, sys_sched_get_priority_max, sys_sched_get_priority_min, compat_sys_sched_rr_get_interval, compat_sys_nanosleep
/*250*/ .word sys_mremap, compat_sys_sysctl, sys_getsid, sys_fdatasync, sys_nis_syscall /*250*/ .word sys_mremap, compat_sys_sysctl, sys_getsid, sys_fdatasync, sys_nis_syscall
.word sys32_sync_file_range, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep .word compat_sys_sync_file_range, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, compat_sys_clock_nanosleep
/*260*/ .word compat_sys_sched_getaffinity, compat_sys_sched_setaffinity, sys32_timer_settime, compat_sys_timer_gettime, sys_timer_getoverrun /*260*/ .word compat_sys_sched_getaffinity, compat_sys_sched_setaffinity, compat_sys_timer_settime, compat_sys_timer_gettime, sys_timer_getoverrun
.word sys_timer_delete, compat_sys_timer_create, sys_ni_syscall, compat_sys_io_setup, sys_io_destroy .word sys_timer_delete, compat_sys_timer_create, sys_ni_syscall, compat_sys_io_setup, sys_io_destroy
/*270*/ .word sys32_io_submit, sys_io_cancel, compat_sys_io_getevents, sys32_mq_open, sys_mq_unlink /*270*/ .word compat_sys_io_submit, sys_io_cancel, compat_sys_io_getevents, compat_sys_mq_open, sys_mq_unlink
.word compat_sys_mq_timedsend, compat_sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid .word compat_sys_mq_timedsend, compat_sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid
/*280*/ .word sys_tee, sys_add_key, sys_request_key, compat_sys_keyctl, compat_sys_openat /*280*/ .word sys_tee, sys_add_key, sys_request_key, compat_sys_keyctl, compat_sys_openat
.word sys_mkdirat, sys_mknodat, sys_fchownat, compat_sys_futimesat, compat_sys_fstatat64 .word sys_mkdirat, sys_mknodat, sys_fchownat, compat_sys_futimesat, compat_sys_fstatat64
...@@ -88,7 +88,7 @@ sys_call_table32: ...@@ -88,7 +88,7 @@ sys_call_table32:
/*330*/ .word compat_sys_fanotify_mark, sys_prlimit64, sys_name_to_handle_at, compat_sys_open_by_handle_at, compat_sys_clock_adjtime /*330*/ .word compat_sys_fanotify_mark, sys_prlimit64, sys_name_to_handle_at, compat_sys_open_by_handle_at, compat_sys_clock_adjtime
.word sys_syncfs, compat_sys_sendmmsg, sys_setns, compat_sys_process_vm_readv, compat_sys_process_vm_writev .word sys_syncfs, compat_sys_sendmmsg, sys_setns, compat_sys_process_vm_readv, compat_sys_process_vm_writev
/*340*/ .word sys_kern_features, sys_kcmp, sys_finit_module, sys_sched_setattr, sys_sched_getattr /*340*/ .word sys_kern_features, sys_kcmp, sys_finit_module, sys_sched_setattr, sys_sched_getattr
.word sys32_renameat2, sys_seccomp, sys_getrandom, sys_memfd_create, sys_bpf .word sys_renameat2, sys_seccomp, sys_getrandom, sys_memfd_create, sys_bpf
/*350*/ .word sys32_execveat, sys_membarrier, sys_userfaultfd, sys_bind, sys_listen /*350*/ .word sys32_execveat, sys_membarrier, sys_userfaultfd, sys_bind, sys_listen
.word compat_sys_setsockopt, sys_mlock2, sys_copy_file_range, compat_sys_preadv2, compat_sys_pwritev2 .word compat_sys_setsockopt, sys_mlock2, sys_copy_file_range, compat_sys_preadv2, compat_sys_pwritev2
/*360*/ .word sys_statx /*360*/ .word sys_statx
......
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