aboutsummaryrefslogtreecommitdiffstats
path: root/fs/compat.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-03-02 10:19:56 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2013-03-03 22:59:48 -0500
commit76b021d053ed0b8de9689eefca5e8f53dade7fd7 (patch)
tree702ea1adb4d4295dcd95968e9e42d910ab22f807 /fs/compat.c
parent8d2d5c4a251924e4f70657e96a2a3f87647544f0 (diff)
convert vmsplice to COMPAT_SYSCALL_DEFINE
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/compat.c')
-rw-r--r--fs/compat.c20
1 files changed, 0 insertions, 20 deletions
diff --git a/fs/compat.c b/fs/compat.c
index 45137a3832f3..b7a89b995564 100644
--- a/fs/compat.c
+++ b/fs/compat.c
@@ -1253,26 +1253,6 @@ compat_sys_pwritev(unsigned long fd, const struct compat_iovec __user *vec,
1253 return compat_sys_pwritev64(fd, vec, vlen, pos); 1253 return compat_sys_pwritev64(fd, vec, vlen, pos);
1254} 1254}
1255 1255
1256asmlinkage long
1257compat_sys_vmsplice(int fd, const struct compat_iovec __user *iov32,
1258 unsigned int nr_segs, unsigned int flags)
1259{
1260 unsigned i;
1261 struct iovec __user *iov;
1262 if (nr_segs > UIO_MAXIOV)
1263 return -EINVAL;
1264 iov = compat_alloc_user_space(nr_segs * sizeof(struct iovec));
1265 for (i = 0; i < nr_segs; i++) {
1266 struct compat_iovec v;
1267 if (get_user(v.iov_base, &iov32[i].iov_base) ||
1268 get_user(v.iov_len, &iov32[i].iov_len) ||
1269 put_user(compat_ptr(v.iov_base), &iov[i].iov_base) ||
1270 put_user(v.iov_len, &iov[i].iov_len))
1271 return -EFAULT;
1272 }
1273 return sys_vmsplice(fd, iov, nr_segs, flags);
1274}
1275
1276/* 1256/*
1277 * Exactly like fs/open.c:sys_open(), except that it doesn't set the 1257 * Exactly like fs/open.c:sys_open(), except that it doesn't set the
1278 * O_LARGEFILE flag. 1258 * O_LARGEFILE flag.