Commit 649dd18f authored by Jens Axboe's avatar Jens Axboe
Browse files

io_uring/sync: validate passed in offset



Check if the passed in offset is negative once cast to sync->off. This
ensures that -EINVAL is returned for that case, like it would be for
sync_file_range(2).

Fixes: c992fe29 ("io_uring: add fsync support")
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 07f3c3a1
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -62,6 +62,8 @@ int io_fsync_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe)
		return -EINVAL;

	sync->off = READ_ONCE(sqe->off);
	if (sync->off < 0)
		return -EINVAL;
	sync->len = READ_ONCE(sqe->len);
	req->flags |= REQ_F_FORCE_ASYNC;
	return 0;