summaryrefslogtreecommitdiffstats
path: root/io_uring
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-05 19:24:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-05 19:24:28 +0000
commit1c9190cbcb93f91a01bc8448d0942be0ce5e1a9e (patch)
treef93c0724f608a0f0d30c2de2ffb9b05c655a770c /io_uring
parentReleasing progress-linux version 6.9.10-1~progress7.99u1. (diff)
downloadlinux-1c9190cbcb93f91a01bc8448d0942be0ce5e1a9e.tar.xz
linux-1c9190cbcb93f91a01bc8448d0942be0ce5e1a9e.zip
Merging upstream version 6.9.11.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'io_uring')
-rw-r--r--io_uring/register.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/io_uring/register.c b/io_uring/register.c
index 99c37775f9..1ae8491e35 100644
--- a/io_uring/register.c
+++ b/io_uring/register.c
@@ -355,8 +355,10 @@ static __cold int io_register_iowq_max_workers(struct io_ring_ctx *ctx,
}
if (sqd) {
+ mutex_unlock(&ctx->uring_lock);
mutex_unlock(&sqd->lock);
io_put_sq_data(sqd);
+ mutex_lock(&ctx->uring_lock);
}
if (copy_to_user(arg, new_count, sizeof(new_count)))
@@ -381,8 +383,10 @@ static __cold int io_register_iowq_max_workers(struct io_ring_ctx *ctx,
return 0;
err:
if (sqd) {
+ mutex_unlock(&ctx->uring_lock);
mutex_unlock(&sqd->lock);
io_put_sq_data(sqd);
+ mutex_lock(&ctx->uring_lock);
}
return ret;
}