• Pavel Begunkov's avatar
    io_uring: fix ctx refcounting in io_submit_sqes() · 48bdd849
    Pavel Begunkov authored
    If io_get_req() fails, it drops a ref. Then, awhile keeping @submitted
    unmodified, io_submit_sqes() breaks the loop and puts @nr - @submitted
    refs. For each submitted req a ref is dropped in io_put_req() and
    friends. So, for @nr taken refs there will be
    (@nr - @submitted + @submitted + 1) dropped.
    
    Remove ctx refcounting from io_get_req(), that at the same time makes
    it clearer.
    
    Fixes: 2b85edfc ("io_uring: batch getting pcpu references")
    Cc: stable@vger.kernel.org # v5.6
    Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    48bdd849
io_uring.c 190 KB