diff options
Diffstat (limited to 'fs/compat.c')
| -rw-r--r-- | fs/compat.c | 26 | 
1 files changed, 20 insertions, 6 deletions
diff --git a/fs/compat.c b/fs/compat.c index 07880bae28a..54d7e72e99c 100644 --- a/fs/compat.c +++ b/fs/compat.c @@ -1171,10 +1171,9 @@ compat_sys_readv(unsigned long fd, const struct compat_iovec __user *vec,  }  asmlinkage ssize_t -compat_sys_preadv(unsigned long fd, const struct compat_iovec __user *vec, -		  unsigned long vlen, u32 pos_low, u32 pos_high) +compat_sys_preadv64(unsigned long fd, const struct compat_iovec __user *vec, +		    unsigned long vlen, loff_t pos)  { -	loff_t pos = ((loff_t)pos_high << 32) | pos_low;  	struct file *file;  	int fput_needed;  	ssize_t ret; @@ -1191,6 +1190,14 @@ compat_sys_preadv(unsigned long fd, const struct compat_iovec __user *vec,  	return ret;  } +asmlinkage ssize_t +compat_sys_preadv(unsigned long fd, const struct compat_iovec __user *vec, +		  unsigned long vlen, u32 pos_low, u32 pos_high) +{ +	loff_t pos = ((loff_t)pos_high << 32) | pos_low; +	return compat_sys_preadv64(fd, vec, vlen, pos); +} +  static size_t compat_writev(struct file *file,  			    const struct compat_iovec __user *vec,  			    unsigned long vlen, loff_t *pos) @@ -1230,10 +1237,9 @@ compat_sys_writev(unsigned long fd, const struct compat_iovec __user *vec,  }  asmlinkage ssize_t -compat_sys_pwritev(unsigned long fd, const struct compat_iovec __user *vec, -		   unsigned long vlen, u32 pos_low, u32 pos_high) +compat_sys_pwritev64(unsigned long fd, const struct compat_iovec __user *vec, +		     unsigned long vlen, loff_t pos)  { -	loff_t pos = ((loff_t)pos_high << 32) | pos_low;  	struct file *file;  	int fput_needed;  	ssize_t ret; @@ -1250,6 +1256,14 @@ compat_sys_pwritev(unsigned long fd, const struct compat_iovec __user *vec,  	return ret;  } +asmlinkage ssize_t +compat_sys_pwritev(unsigned long fd, const struct compat_iovec __user *vec, +		   unsigned long vlen, u32 pos_low, u32 pos_high) +{ +	loff_t pos = ((loff_t)pos_high << 32) | pos_low; +	return compat_sys_pwritev64(fd, vec, vlen, pos); +} +  asmlinkage long  compat_sys_vmsplice(int fd, const struct compat_iovec __user *iov32,  		    unsigned int nr_segs, unsigned int flags)  |