• Jens Axboe's avatar
    io_uring: fail poll arm on queue proc failure · a36da65c
    Jens Axboe authored
    Check the ipt.error value, it must have been either cleared to zero or
    set to another error than the default -EINVAL if we don't go through the
    waitqueue proc addition. Just give up on poll at that point and return
    failure, this will fallback to async work.
    
    io_poll_add() doesn't suffer from this failure case, as it returns the
    error value directly.
    
    Cc: stable@vger.kernel.org # v5.7+
    Reported-by: syzbot+a730016dc0bdce4f6ff5@syzkaller.appspotmail.com
    Reviewed-by: default avatarStefano Garzarella <sgarzare@redhat.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    a36da65c
io_uring.c 207 KB