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

!1366 [sync] PR-1324: io_uring: hold uring mutex around poll removal

parents 5d0d7a6a 632b0576
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -5811,6 +5811,8 @@ static int io_poll_update(struct io_kiocb *req, unsigned int issue_flags)
	struct io_kiocb *preq;
	int ret2, ret = 0;

	io_ring_submit_lock(ctx, !(issue_flags & IO_URING_F_NONBLOCK));

	spin_lock(&ctx->completion_lock);
	preq = io_poll_find(ctx, req->poll_update.old_user_data, true);
	if (!preq || !io_poll_disarm(preq)) {
@@ -5842,6 +5844,7 @@ static int io_poll_update(struct io_kiocb *req, unsigned int issue_flags)
		req_set_fail(req);
	/* complete update request, we're done with it */
	io_req_complete(req, ret);
	io_ring_submit_unlock(ctx, !(issue_flags & IO_URING_F_NONBLOCK));
	return 0;
}