• Jens Axboe's avatar
    io_uring: don't use 'fd' for openat/openat2/statx · 63ff8223
    Jens Axboe authored
    We currently make some guesses as when to open this fd, but in reality
    we have no business (or need) to do so at all. In fact, it makes certain
    things fail, like O_PATH.
    
    Remove the fd lookup from these opcodes, we're just passing the 'fd' to
    generic helpers anyway. With that, we can also remove the special casing
    of fd values in io_req_needs_file(), and the 'fd_non_neg' check that
    we have. And we can ensure that we only read sqe->fd once.
    
    This fixes O_PATH usage with openat/openat2, and ditto statx path side
    oddities.
    
    Cc: stable@vger.kernel.org: # v5.6
    Reported-by: default avatarMax Kellermann <mk@cm4all.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    63ff8223
io_uring.c 191 KB