• Jens Axboe's avatar
    io_uring: fix -EAGAIN retry with IOPOLL · 3e6a0d3c
    Jens Axboe authored
    We no longer revert the iovec on -EIOCBQUEUED, see commit ab2125df,
    and this started causing issues for IOPOLL on devies that run out of
    request slots. Turns out what outside of needing a revert for those, we
    also had a bug where we didn't properly setup retry inside the submission
    path. That could cause re-import of the iovec, if any, and that could lead
    to spurious results if the application had those allocated on the stack.
    
    Catch -EAGAIN retry and make the iovec stable for IOPOLL, just like we do
    for !IOPOLL retries.
    
    Cc: <stable@vger.kernel.org> # 5.9+
    Reported-by: default avatarAbaci Robot <abaci@linux.alibaba.com>
    Reported-by: default avatarXiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    3e6a0d3c
io_uring.c 238 KB