From 934a68be8a092dba9558bdf8025239934efb5d7e Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 3 Oct 2018 08:07:18 -0700 Subject: [PATCH] Fix compat_sys_preadv64v2/compat_sys_pwritev64v2 Update compat_sys_preadv64v2 and compat_sys_pwritev64v2 to handle the offset argument == -1, which should use and update the the current file offset. Signed-off-by: H.J. Lu --- fs/read_write.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fs/read_write.c b/fs/read_write.c index 39b4a21dd933..a61111bdd8c9 100644 --- a/fs/read_write.c +++ b/fs/read_write.c @@ -1241,6 +1241,9 @@ COMPAT_SYSCALL_DEFINE5(preadv64v2, unsigned long, fd, const struct compat_iovec __user *,vec, unsigned long, vlen, loff_t, pos, rwf_t, flags) { + if (pos == -1) + return do_compat_readv(fd, vec, vlen, flags); + return do_compat_preadv64(fd, vec, vlen, pos, flags); } #endif @@ -1347,6 +1350,9 @@ COMPAT_SYSCALL_DEFINE5(pwritev64v2, unsigned long, fd, const struct compat_iovec __user *,vec, unsigned long, vlen, loff_t, pos, rwf_t, flags) { + if (pos == -1) + return do_compat_writev(fd, vec, vlen, flags); + return do_compat_pwritev64(fd, vec, vlen, pos, flags); } #endif -- 2.17.2