Skip to contentSkip to conversation

Fix compat_sys_preadv64v2/compat_sys_pwritev64v2

PATCH New H.J. Lu 1 participant 1 message Oct 3, 2018 VFS

lore
Share & tools
lore

H.J. Lu

author
#0 lore raw

PATCH 1/1 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.

---
 fs/read_write.c | 6 ++++++
 1 file changed, 6 insertions(+)
fs/read_write.c +6 -0
index 153f8f690490..c1d183862c13 100644
@@ -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
Signature · 1 line
2.17.1