diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2023-01-05 10:49:15 +0000 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-01-05 08:04:47 -0700 |
commit | 12521a5d5cb7ff0ad43eadfc9c135d86e1131fa8 (patch) | |
tree | d9017ab2dc68c6ec6503969565c8acda18ac3dd0 /fs/inode.c | |
parent | 59b745bb4e0bd445366c45b8df6b51b69134f4f5 (diff) |
io_uring: fix CQ waiting timeout handling
Jiffy to ktime CQ waiting conversion broke how we treat timeouts, in
particular we rearm it anew every time we get into
io_cqring_wait_schedule() without adjusting the timeout. Waiting for 2
CQEs and getting a task_work in the middle may double the timeout value,
or even worse in some cases task may wait indefinitely.
Cc: stable@vger.kernel.org
Fixes: 228339662b398 ("io_uring: don't convert to jiffies for waiting on timeouts")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/f7bffddd71b08f28a877d44d37ac953ddb01590d.1672915663.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'fs/inode.c')
0 files changed, 0 insertions, 0 deletions