projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
[firefly-linux-kernel-4.4.55.git]
/
fs
/
read_write.c
diff --git
a/fs/read_write.c
b/fs/read_write.c
index 54e19b9392dc74381fec154fe3f0ceab32ce9bd8..31c6efa431839e41f4b39b314cb640dd89b68ecc 100644
(file)
--- a/
fs/read_write.c
+++ b/
fs/read_write.c
@@
-307,7
+307,7
@@
SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned long, offset_high,
unsigned int, whence)
{
int retval;
unsigned int, whence)
{
int retval;
- struct fd f = fdget(fd);
+ struct fd f = fdget
_pos
(fd);
loff_t offset;
if (!f.file)
loff_t offset;
if (!f.file)
@@
-327,7
+327,7
@@
SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned long, offset_high,
retval = 0;
}
out_putf:
retval = 0;
}
out_putf:
- fdput(f);
+ fdput
_pos
(f);
return retval;
}
#endif
return retval;
}
#endif
@@
-994,9
+994,9
@@
COMPAT_SYSCALL_DEFINE3(readv, compat_ulong_t, fd,
return ret;
}
return ret;
}
-
COMPAT_SYSCALL_DEFINE4(preadv64, unsigned long,
fd,
-
const struct compat_iovec __user *,
vec,
-
unsigned long, vlen, loff_t,
pos)
+
static long __compat_sys_preadv64(unsigned long
fd,
+
const struct compat_iovec __user *
vec,
+
unsigned long vlen, loff_t
pos)
{
struct fd f;
ssize_t ret;
{
struct fd f;
ssize_t ret;
@@
-1013,12
+1013,22
@@
COMPAT_SYSCALL_DEFINE4(preadv64, unsigned long, fd,
return ret;
}
return ret;
}
+#ifdef __ARCH_WANT_COMPAT_SYS_PREADV64
+COMPAT_SYSCALL_DEFINE4(preadv64, unsigned long, fd,
+ const struct compat_iovec __user *,vec,
+ unsigned long, vlen, loff_t, pos)
+{
+ return __compat_sys_preadv64(fd, vec, vlen, pos);
+}
+#endif
+
COMPAT_SYSCALL_DEFINE5(preadv, compat_ulong_t, fd,
const struct compat_iovec __user *,vec,
compat_ulong_t, vlen, u32, pos_low, u32, pos_high)
{
loff_t pos = ((loff_t)pos_high << 32) | pos_low;
COMPAT_SYSCALL_DEFINE5(preadv, compat_ulong_t, fd,
const struct compat_iovec __user *,vec,
compat_ulong_t, 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);
+
+ return __compat_sys_preadv64(fd, vec, vlen, pos);
}
static size_t compat_writev(struct file *file,
}
static size_t compat_writev(struct file *file,
@@
-1061,9
+1071,9
@@
COMPAT_SYSCALL_DEFINE3(writev, compat_ulong_t, fd,
return ret;
}
return ret;
}
-
COMPAT_SYSCALL_DEFINE4(pwritev64, unsigned long,
fd,
-
const struct compat_iovec __user *,
vec,
-
unsigned long, vlen, loff_t,
pos)
+
static long __compat_sys_pwritev64(unsigned long
fd,
+
const struct compat_iovec __user *
vec,
+
unsigned long vlen, loff_t
pos)
{
struct fd f;
ssize_t ret;
{
struct fd f;
ssize_t ret;
@@
-1080,12
+1090,22
@@
COMPAT_SYSCALL_DEFINE4(pwritev64, unsigned long, fd,
return ret;
}
return ret;
}
+#ifdef __ARCH_WANT_COMPAT_SYS_PWRITEV64
+COMPAT_SYSCALL_DEFINE4(pwritev64, unsigned long, fd,
+ const struct compat_iovec __user *,vec,
+ unsigned long, vlen, loff_t, pos)
+{
+ return __compat_sys_pwritev64(fd, vec, vlen, pos);
+}
+#endif
+
COMPAT_SYSCALL_DEFINE5(pwritev, compat_ulong_t, fd,
const struct compat_iovec __user *,vec,
compat_ulong_t, vlen, u32, pos_low, u32, pos_high)
{
loff_t pos = ((loff_t)pos_high << 32) | pos_low;
COMPAT_SYSCALL_DEFINE5(pwritev, compat_ulong_t, fd,
const struct compat_iovec __user *,vec,
compat_ulong_t, 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);
+
+ return __compat_sys_pwritev64(fd, vec, vlen, pos);
}
#endif
}
#endif