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: Caleb Sander Mateos <csander@purestorage.com> Link: https://lore.kernel.org/r/20250904161223.2600435-1-csander@purestorage.com Signed-off-by: Jens Axboe <axboe@kernel.dk>pull/1354/merge
parent
9f8608fce9
commit
c2685729fa
|
|
@ -3891,8 +3891,13 @@ static __cold int io_uring_create(unsigned entries, struct io_uring_params *p,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ctx->flags & IORING_SETUP_SINGLE_ISSUER
|
if (ctx->flags & IORING_SETUP_SINGLE_ISSUER
|
||||||
&& !(ctx->flags & IORING_SETUP_R_DISABLED))
|
&& !(ctx->flags & IORING_SETUP_R_DISABLED)) {
|
||||||
WRITE_ONCE(ctx->submitter_task, get_task_struct(current));
|
/*
|
||||||
|
* 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);
|
file = io_uring_get_file(ctx);
|
||||||
if (IS_ERR(file)) {
|
if (IS_ERR(file)) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue