diff options
author | Jens Axboe <axboe@kernel.dk> | 2022-12-21 07:05:09 -0700 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-12-21 08:43:53 -0700 |
commit | 52ea806ad983490b3132a9e526e11a10dc2fd10c (patch) | |
tree | c1a8029e933faa2d1091d18786b466a63e061b28 /drivers/usb/cdns3/cdns3-debug.h | |
parent | 5ad70eb27d2b87ec722fedd23638354be37ea0b0 (diff) |
io_uring: finish waiting before flushing overflow entries
If we have overflow entries being generated after we've done the
initial flush in io_cqring_wait(), then we could be flushing them in the
main wait loop as well. If that's done after having added ourselves
to the cq_wait waitqueue, then the task state can be != TASK_RUNNING
when we enter the overflow flush.
Check for the need to overflow flush, and finish our wait cycle first
if we have to do so.
Reported-and-tested-by: syzbot+cf6ea1d6bb30a4ce10b2@syzkaller.appspotmail.com
Link: https://lore.kernel.org/io-uring/000000000000cb143a05f04eee15@google.com/
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/usb/cdns3/cdns3-debug.h')
0 files changed, 0 insertions, 0 deletions