diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index fe6ef64c873e050d58d8521b514de4b65ca858b3..63f6ce5e53551119de6177b5f7bc24c3dffffa6d 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -3890,6 +3890,9 @@ static int __io_uring_register(struct io_ring_ctx *ctx, unsigned opcode, if (WARN_ON_ONCE(percpu_ref_is_dying(&ctx->refs))) return -ENXIO; + if (ctx->submitter_task && ctx->submitter_task != current) + return -EEXIST; + if (ctx->restricted) { if (opcode >= IORING_REGISTER_LAST) return -EINVAL;