Skip to content
  • Jens Axboe's avatar
    io_uring: allow POLL_ADD with double poll_wait() users · 18bceab1
    Jens Axboe authored
    
    
    Some file descriptors use separate waitqueues for their f_ops->poll()
    handler, most commonly one for read and one for write. The io_uring
    poll implementation doesn't work with that, as the 2nd poll_wait()
    call will cause the io_uring poll request to -EINVAL.
    
    This affects (at least) tty devices and /dev/random as well. This is a
    big problem for event loops where some file descriptors work, and others
    don't.
    
    With this fix, io_uring handles multiple waitqueues.
    
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    18bceab1