• Jens Axboe's avatar
    io_uring/kbuf: hold io_buffer_list reference over mmap · 561e4f94
    Jens Axboe authored
    If we look up the kbuf, ensure that it doesn't get unregistered until
    after we're done with it. Since we're inside mmap, we cannot safely use
    the io_uring lock. Rely on the fact that we can lookup the buffer list
    under RCU now and grab a reference to it, preventing it from being
    unregistered until we're done with it. The lookup returns the
    io_buffer_list directly with it referenced.
    
    Cc: stable@vger.kernel.org # v6.4+
    Fixes: 5cf4f52e ("io_uring: free io_buffer_list entries via RCU")
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    561e4f94
io_uring.c 112 KB