diff --git a/[refs] b/[refs] index 7c0208ecc3e7..8ea06c471cec 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7adfa2ff3efa02a7a9f2632d2d2662d3e5eb5304 +refs/heads/master: c2ec66828fd253802abb912668f4bf9597e3c898 diff --git a/trunk/fs/aio.c b/trunk/fs/aio.c index 26c1930889fa..b74c567383bc 100644 --- a/trunk/fs/aio.c +++ b/trunk/fs/aio.c @@ -1329,6 +1329,10 @@ static ssize_t aio_rw_vect_retry(struct kiocb *iocb) opcode = IOCB_CMD_PWRITEV; } + /* This matches the pread()/pwrite() logic */ + if (iocb->ki_pos < 0) + return -EINVAL; + do { ret = rw_op(iocb, &iocb->ki_iovec[iocb->ki_cur_seg], iocb->ki_nr_segs - iocb->ki_cur_seg,