X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fparisc%2Fkernel%2Fsys_parisc.c;h=8b5df98e2b3158a229226cdb233e43349c950e4c;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=96ad250edfa558d3ab3892183c898b2370d1987b;hpb=6a77f38946aaee1cd85eeec6cf4229b204c15071;p=linux-2.6.git diff --git a/arch/parisc/kernel/sys_parisc.c b/arch/parisc/kernel/sys_parisc.c index 96ad250ed..8b5df98e2 100644 --- a/arch/parisc/kernel/sys_parisc.c +++ b/arch/parisc/kernel/sys_parisc.c @@ -32,7 +32,7 @@ #include #include -int sys_pipe(int *fildes) +int sys_pipe(int __user *fildes) { int fd[2]; int error; @@ -161,21 +161,10 @@ asmlinkage unsigned long sys_mmap(unsigned long addr, unsigned long len, } } -long sys_shmat_wrapper(int shmid, char *shmaddr, int shmflag) -{ - unsigned long raddr; - int r; - - r = do_shmat(shmid, shmaddr, shmflag, &raddr); - if (r < 0) - return r; - return raddr; -} - /* Fucking broken ABI */ -#ifdef CONFIG_PARISC64 -asmlinkage long parisc_truncate64(const char * path, +#ifdef CONFIG_64BIT +asmlinkage long parisc_truncate64(const char __user * path, unsigned int high, unsigned int low) { return sys_truncate(path, (long)high << 32 | low); @@ -189,7 +178,7 @@ asmlinkage long parisc_ftruncate64(unsigned int fd, /* stubs for the benefit of the syscall_table since truncate64 and truncate * are identical on LP64 */ -asmlinkage long sys_truncate64(const char * path, unsigned long length) +asmlinkage long sys_truncate64(const char __user * path, unsigned long length) { return sys_truncate(path, length); } @@ -203,7 +192,7 @@ asmlinkage long sys_fcntl64(unsigned int fd, unsigned int cmd, unsigned long arg } #else -asmlinkage long parisc_truncate64(const char * path, +asmlinkage long parisc_truncate64(const char __user * path, unsigned int high, unsigned int low) { return sys_truncate64(path, (loff_t)high << 32 | low); @@ -216,13 +205,13 @@ asmlinkage long parisc_ftruncate64(unsigned int fd, } #endif -asmlinkage ssize_t parisc_pread64(unsigned int fd, char *buf, size_t count, +asmlinkage ssize_t parisc_pread64(unsigned int fd, char __user *buf, size_t count, unsigned int high, unsigned int low) { return sys_pread64(fd, buf, count, (loff_t)high << 32 | low); } -asmlinkage ssize_t parisc_pwrite64(unsigned int fd, const char *buf, +asmlinkage ssize_t parisc_pwrite64(unsigned int fd, const char __user *buf, size_t count, unsigned int high, unsigned int low) { return sys_pwrite64(fd, buf, count, (loff_t)high << 32 | low); @@ -242,6 +231,14 @@ asmlinkage long parisc_fadvise64_64(int fd, (loff_t)high_len << 32 | low_len, advice); } +asmlinkage long parisc_sync_file_range(int fd, + u32 hi_off, u32 lo_off, u32 hi_nbytes, u32 lo_nbytes, + unsigned int flags) +{ + return sys_sync_file_range(fd, (loff_t)hi_off << 32 | lo_off, + (loff_t)hi_nbytes << 32 | lo_nbytes, flags); +} + asmlinkage unsigned long sys_alloc_hugepages(int key, unsigned long addr, unsigned long len, int prot, int flag) { return -ENOMEM;