diff options
| author | Jens Axboe <axboe@kernel.dk> | 2026-09-08 17:03:12 +0000 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2026-09-28 11:47:28 -0600 |
| commit | 8d1c3a1f2fd7a1f396dbb3824779b62531d98649 (patch) | |
| tree | cf48893b504912f4ee8056a8c03c35e62b43a6d4 /include/linux | |
| parent | aa001b5a26602f3b8143a1d4fd024ab334352a58 (diff) | |
io_uring/uring_cmd: only cancel requests of the given task
io_uring_try_cancel_uring_cmd() ignores the task it is asked to cancel
on behalf of as soon as cancel_all is true, and cancels every cancelable
command on the ring instead. That differs from how other requests are
matched, where a valid task always restricts matching to that task's
requests and cancel_all simply lifts the REQ_F_INFLIGHT restriction.
So far the only caller passing both a task and cancel_all is exec, where
tearing down another task's commands on a shared ring is somewhat
impolite. The exit path is about to do the same for every exiting
process though, so bring it in line. Match on the task if one is given,
and cancel everything only for ring teardown, which passes NULL. This
leaves cancel_all as useless, hence drop it.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
