diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2024-07-24 13:16:17 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2024-07-24 16:01:49 +0200 |
commit | bd44d7e902c2b34c217d3b48874b079760ca7b6e (patch) | |
tree | afc8093b508b43a4589397badafde468b24fba08 | |
parent | io_uring: tighten task exit cancellations (diff) | |
download | linux-bd44d7e902c2b34c217d3b48874b079760ca7b6e.tar.xz linux-bd44d7e902c2b34c217d3b48874b079760ca7b6e.zip |
io_uring: don't allow netpolling with SETUP_IOPOLL
IORING_SETUP_IOPOLL rings don't have any netpoll handling, let's fail
attempts to register netpolling in this case, there might be people who
will mix up IOPOLL and netpoll.
Cc: stable@vger.kernel.org
Fixes: ef1186c1a875b ("io_uring: add register/unregister napi function")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/1e7553aee0a8ae4edec6742cd6dd0c1e6914fba8.1721819383.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | io_uring/napi.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/io_uring/napi.c b/io_uring/napi.c index 762254a7ff3f..327e5f3a8abe 100644 --- a/io_uring/napi.c +++ b/io_uring/napi.c @@ -222,6 +222,8 @@ int io_register_napi(struct io_ring_ctx *ctx, void __user *arg) }; struct io_uring_napi napi; + if (ctx->flags & IORING_SETUP_IOPOLL) + return -EINVAL; if (copy_from_user(&napi, arg, sizeof(napi))) return -EFAULT; if (napi.pad[0] || napi.pad[1] || napi.pad[2] || napi.resv) |