projects
/
platform
/
kernel
/
linux-rpi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
54eb621
)
io_uring: fail links of cancelled timeouts
author
Pavel Begunkov
<asml.silence@gmail.com>
Mon, 13 Sep 2021 15:45:41 +0000
(09:45 -0600)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Sat, 18 Sep 2021 11:40:05 +0000
(13:40 +0200)
commit
2ae2eb9dde18979b40629dd413b9adbd6c894cdf
upstream.
When we cancel a timeout we should mark it with REQ_F_FAIL, so
linked requests are cancelled as well, but not queued for further
execution.
Cc: stable@vger.kernel.org
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link:
https://lore.kernel.org/r/fff625b44eeced3a5cae79f60e6acf3fbdf8f990.1631192135.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/io_uring.c
patch
|
blob
|
history
diff --git
a/fs/io_uring.c
b/fs/io_uring.c
index
dd847d8
..
6978a42
100644
(file)
--- a/
fs/io_uring.c
+++ b/
fs/io_uring.c
@@
-1498,6
+1498,8
@@
static void io_kill_timeout(struct io_kiocb *req, int status)
ret = hrtimer_try_to_cancel(&io->timer);
if (ret != -1) {
+ if (status)
+ req_set_fail_links(req);
atomic_set(&req->ctx->cq_timeouts,
atomic_read(&req->ctx->cq_timeouts) + 1);
list_del_init(&req->timeout.list);