Commit c2685729 authored by Caleb Sander Mateos's avatar Caleb Sander Mateos Committed by Jens Axboe
Browse files

io_uring: remove WRITE_ONCE() in io_uring_create()



There's no need to use WRITE_ONCE() to set ctx->submitter_task in
io_uring_create() since no other task can access the io_ring_ctx until a
file descriptor is associated with it. So use a normal assignment
instead of WRITE_ONCE().

Signed-off-by: default avatarCaleb Sander Mateos <csander@purestorage.com>
Link: https://lore.kernel.org/r/20250904161223.2600435-1-csander@purestorage.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 9f8608fc
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -3891,8 +3891,13 @@ static __cold int io_uring_create(unsigned entries, struct io_uring_params *p,
	}

	if (ctx->flags & IORING_SETUP_SINGLE_ISSUER
	    && !(ctx->flags & IORING_SETUP_R_DISABLED))
		WRITE_ONCE(ctx->submitter_task, get_task_struct(current));
	    && !(ctx->flags & IORING_SETUP_R_DISABLED)) {
		/*
		 * Unlike io_register_enable_rings(), don't need WRITE_ONCE()
		 * since ctx isn't yet accessible from other tasks
		 */
		ctx->submitter_task = get_task_struct(current);
	}

	file = io_uring_get_file(ctx);
	if (IS_ERR(file)) {