Unverified Commit fde619b6 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!10467 io_uring: fix possible deadlock in io_register_iowq_max_workers()

parents e9432b9d 542b8f05
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -10637,8 +10637,10 @@ static 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)))
@@ -10663,8 +10665,10 @@ static 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;
}