aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/io_uring/opdef.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2025-03-07 09:07:19 -0700
committerJens Axboe <axboe@kernel.dk>2025-03-07 09:07:19 -0700
commit6e3da40ed6f3508dcf34b1539496bcccef7015ef (patch)
tree0eeb5608dc15f91a09bf0d88499572a05294eb4b /io_uring/opdef.c
parentMerge branch 'for-6.15/io_uring-rx-zc' into for-6.15/io_uring-reg-vec (diff)
parentio_uring/epoll: add support for IORING_OP_EPOLL_WAIT (diff)
downloadwireguard-linux-6e3da40ed6f3508dcf34b1539496bcccef7015ef.tar.xz
wireguard-linux-6e3da40ed6f3508dcf34b1539496bcccef7015ef.zip
Merge branch 'for-6.15/io_uring-epoll-wait' into for-6.15/io_uring-reg-vec
* for-6.15/io_uring-epoll-wait: io_uring/epoll: add support for IORING_OP_EPOLL_WAIT io_uring/epoll: remove CONFIG_EPOLL guards eventpoll: add epoll_sendevents() helper eventpoll: abstract out ep_try_send_events() helper eventpoll: abstract out parameter sanity checking
Diffstat (limited to 'io_uring/opdef.c')
-rw-r--r--io_uring/opdef.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/io_uring/opdef.c b/io_uring/opdef.c
index 9511262c513e..db77df513d55 100644
--- a/io_uring/opdef.c
+++ b/io_uring/opdef.c
@@ -529,6 +529,17 @@ const struct io_issue_def io_issue_defs[] = {
.prep = io_eopnotsupp_prep,
#endif
},
+ [IORING_OP_EPOLL_WAIT] = {
+ .needs_file = 1,
+ .audit_skip = 1,
+ .pollin = 1,
+#if defined(CONFIG_EPOLL)
+ .prep = io_epoll_wait_prep,
+ .issue = io_epoll_wait,
+#else
+ .prep = io_eopnotsupp_prep,
+#endif
+ },
};
const struct io_cold_def io_cold_defs[] = {
@@ -761,6 +772,9 @@ const struct io_cold_def io_cold_defs[] = {
[IORING_OP_RECV_ZC] = {
.name = "RECV_ZC",
},
+ [IORING_OP_EPOLL_WAIT] = {
+ .name = "EPOLL_WAIT",
+ },
};
const char *io_uring_get_opcode(u8 opcode)