Bug 207461
Summary: | io_uring IORING_OP_POLL_ADD fails when fd is a tty | ||
---|---|---|---|
Product: | IO/Storage | Reporter: | Clay Harris (bugs) |
Component: | AIO | Assignee: | Badari Pulavarty (pbadari) |
Status: | NEW --- | ||
Severity: | normal | CC: | axboe |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 5.6.6-200.fc31.x86_64 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | Test program to compare poll() to io_uring ADD_POLL |
This was double poll, long since fixed. |
Created attachment 288761 [details] Test program to compare poll() to io_uring ADD_POLL io_uring POLL_ADD should return identical results to poll/epoll. (With the possible exception of epoll not accepting regular files.) Test program performs 3 steps using fd = 0. 0. poll() for POLLIN 1. epoll() for POLLIN 2. io_uring poll for POLLIN The expected result is that each step returns identical information. The actual result is: A) As expected, if fd 0 is a pipe. B) But if fd 0 is a tty: a do_poll: events 00000001 read 2 bytes: a b do_epoll: events 00000001 read 2 bytes: b do_io_uring_poll() failed, errno 22: Invalid argument Test program attached.