Commit 15b9feff authored by Dylan Yudaken's avatar Dylan Yudaken Committed by Greg Kroah-Hartman
Browse files

UPSTREAM: io_uring: update kiocb->ki_pos at execution time



commit d34e1e5b upstream.

Update kiocb->ki_pos at execution time rather than in io_prep_rw().
io_prep_rw() happens before the job is enqueued to a worker and so the
offset might be read multiple times before being executed once.

Ensures that the file position in a set of _linked_ SQEs will be only
obtained after earlier SQEs have completed, and so will include their
incremented file position.

Change-Id: I3c5abbf6a337ec1958fd6600c5feb44fb61a5772
Signed-off-by: default avatarDylan Yudaken <dylany@fb.com>
Reviewed-by: default avatarPavel Begunkov <asml.silence@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Bug: 268174392
(cherry picked from commit ea528eca)
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 2a22fa4b
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment