Skip to content

Commit

Permalink
io_uring/timeout: always set 'ctx' in io_cancel_data
Browse files Browse the repository at this point in the history
In preparation for using a generic handler to match requests for
cancelation purposes, ensure that ctx is set in io_cancel_data. The
timeout handlers don't check for this as it'll always match, but we'll
need it set going forward.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
  • Loading branch information
Jens Axboe committed Jul 17, 2023
1 parent ad711c5 commit faa9c0e
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions io_uring/timeout.c
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,7 @@ static int io_timeout_update(struct io_ring_ctx *ctx, __u64 user_data,
struct timespec64 *ts, enum hrtimer_mode mode)
__must_hold(&ctx->timeout_lock)
{
struct io_cancel_data cd = { .data = user_data, };
struct io_cancel_data cd = { .ctx = ctx, .data = user_data, };
struct io_kiocb *req = io_timeout_extract(ctx, &cd);
struct io_timeout *timeout = io_kiocb_to_cmd(req, struct io_timeout);
struct io_timeout_data *data;
Expand Down Expand Up @@ -473,7 +473,7 @@ int io_timeout_remove(struct io_kiocb *req, unsigned int issue_flags)
int ret;

if (!(tr->flags & IORING_TIMEOUT_UPDATE)) {
struct io_cancel_data cd = { .data = tr->addr, };
struct io_cancel_data cd = { .ctx = ctx, .data = tr->addr, };

spin_lock(&ctx->completion_lock);
ret = io_timeout_cancel(ctx, &cd);
Expand Down

0 comments on commit faa9c0e

Please sign in to comment.