Message ID | 1458158763-9614-2-git-send-email-kamal@canonical.com |
---|---|
State | New |
Headers | show |
diff --git a/fs/aio.c b/fs/aio.c index ebd0e9b..6a17d03 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -1390,11 +1390,16 @@ static ssize_t aio_setup_single_vector(struct kiocb *kiocb, unsigned long *nr_segs, struct iovec *iovec) { - if (unlikely(!access_ok(!rw, buf, kiocb->ki_nbytes))) + size_t len = kiocb->ki_nbytes; + + if (len > MAX_RW_COUNT) + len = MAX_RW_COUNT; + + if (unlikely(!access_ok(!rw, buf, len))) return -EFAULT; iovec->iov_base = buf; - iovec->iov_len = kiocb->ki_nbytes; + iovec->iov_len = len; *nr_segs = 1; return 0; }