aio: negative offset should return -EINVAL
An AIO read or write should return -EINVAL if the offset is negative. This check matches the one in pread and pwrite. This was found by the libaio test suite. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Acked-by: Zach Brown <zach.brown@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
7adfa2ff3e
commit
c2ec66828f
4
fs/aio.c
4
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,
|
||||
|
|
Loading…
Reference in New Issue