Re: [PATCH v5 2/7] vfs: Define new syscalls preadv2,pwritev2

2 messages, 2 authors, 2014-11-07 · open the first message on its own page

Re: [PATCH v5 2/7] vfs: Define new syscalls preadv2,pwritev2

From: Jeff Moyer <hidden>
Date: 2014-11-06 23:25:50

Milosz Tanski [off-list ref] writes:
quoted hunk
New syscalls that take an flag argument. This change does not add any specific
flags.

Signed-off-by: Milosz Tanski <redacted>
Reviewed-by: Christoph Hellwig <hch@lst.de>
---
 fs/read_write.c                   | 176 ++++++++++++++++++++++++++++++--------
 include/linux/compat.h            |   6 ++
 include/linux/syscalls.h          |   6 ++
 include/uapi/asm-generic/unistd.h |   6 +-
 mm/filemap.c                      |   5 +-
 5 files changed, 158 insertions(+), 41 deletions(-)
diff --git a/fs/read_write.c b/fs/read_write.c
index 94b2d34..907735c 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -866,6 +866,8 @@ ssize_t vfs_readv(struct file *file, const struct iovec __user *vec,
 		return -EBADF;
 	if (!(file->f_mode & FMODE_CAN_READ))
 		return -EINVAL;
+	if (flags & ~0)
+		return -EINVAL;
 
 	return do_readv_writev(READ, file, vec, vlen, pos, flags);
 }
@@ -879,21 +881,23 @@ ssize_t vfs_writev(struct file *file, const struct iovec __user *vec,
 		return -EBADF;
 	if (!(file->f_mode & FMODE_CAN_WRITE))
 		return -EINVAL;
+	if (flags & ~0)
+		return -EINVAL;
 
 	return do_readv_writev(WRITE, file, vec, vlen, pos, flags);
 }
Hi, Milosz,

You've checked for invalid flags for the normal system calls, but not
for the compat variants.  Can you add that in, please?

Thanks!
Jeff

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

Re: [PATCH v5 2/7] vfs: Define new syscalls preadv2,pwritev2

From: Milosz Tanski <hidden>
Date: 2014-11-07 16:28:17

On Thu, Nov 6, 2014 at 6:25 PM, Jeff Moyer [off-list ref] wrote:
Milosz Tanski [off-list ref] writes:
quoted
New syscalls that take an flag argument. This change does not add any specific
flags.

Signed-off-by: Milosz Tanski <redacted>
Reviewed-by: Christoph Hellwig <hch@lst.de>
---
 fs/read_write.c                   | 176 ++++++++++++++++++++++++++++++--------
 include/linux/compat.h            |   6 ++
 include/linux/syscalls.h          |   6 ++
 include/uapi/asm-generic/unistd.h |   6 +-
 mm/filemap.c                      |   5 +-
 5 files changed, 158 insertions(+), 41 deletions(-)
diff --git a/fs/read_write.c b/fs/read_write.c
index 94b2d34..907735c 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -866,6 +866,8 @@ ssize_t vfs_readv(struct file *file, const struct iovec __user *vec,
              return -EBADF;
      if (!(file->f_mode & FMODE_CAN_READ))
              return -EINVAL;
+     if (flags & ~0)
+             return -EINVAL;

      return do_readv_writev(READ, file, vec, vlen, pos, flags);
 }
@@ -879,21 +881,23 @@ ssize_t vfs_writev(struct file *file, const struct iovec __user *vec,
              return -EBADF;
      if (!(file->f_mode & FMODE_CAN_WRITE))
              return -EINVAL;
+     if (flags & ~0)
+             return -EINVAL;

      return do_readv_writev(WRITE, file, vec, vlen, pos, flags);
 }
Hi, Milosz,

You've checked for invalid flags for the normal system calls, but not
for the compat variants.  Can you add that in, please?

Thanks!
Jeff
That's a good catch Jeff I'll fix this and it'll be in the next
version of the patch series.

- M



-- 
Milosz Tanski
CTO
16 East 34th Street, 15th floor
New York, NY 10016

p: 646-253-9055
e: milosz@adfin.com

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help