Commit 483a351e authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'io_uring-6.10-20240523' of git://git.kernel.dk/linux

Pull io_uring fixes from Jens Axboe:
 "Single fix here for a regression in 6.9, and then a simple cleanup
  removing some dead code"

* tag 'io_uring-6.10-20240523' of git://git.kernel.dk/linux:
  io_uring: remove checks for NULL 'sq_offset'
  io_uring/sqpoll: ensure that normal task_work is also run timely
parents c2c80ecd 547988ad
...@@ -2597,13 +2597,11 @@ static unsigned long rings_size(struct io_ring_ctx *ctx, unsigned int sq_entries ...@@ -2597,13 +2597,11 @@ static unsigned long rings_size(struct io_ring_ctx *ctx, unsigned int sq_entries
#endif #endif
if (ctx->flags & IORING_SETUP_NO_SQARRAY) { if (ctx->flags & IORING_SETUP_NO_SQARRAY) {
if (sq_offset) *sq_offset = SIZE_MAX;
*sq_offset = SIZE_MAX;
return off; return off;
} }
if (sq_offset) *sq_offset = off;
*sq_offset = off;
sq_array_size = array_size(sizeof(u32), sq_entries); sq_array_size = array_size(sizeof(u32), sq_entries);
if (sq_array_size == SIZE_MAX) if (sq_array_size == SIZE_MAX)
......
...@@ -238,11 +238,13 @@ static unsigned int io_sq_tw(struct llist_node **retry_list, int max_entries) ...@@ -238,11 +238,13 @@ static unsigned int io_sq_tw(struct llist_node **retry_list, int max_entries)
if (*retry_list) { if (*retry_list) {
*retry_list = io_handle_tw_list(*retry_list, &count, max_entries); *retry_list = io_handle_tw_list(*retry_list, &count, max_entries);
if (count >= max_entries) if (count >= max_entries)
return count; goto out;
max_entries -= count; max_entries -= count;
} }
*retry_list = tctx_task_work_run(tctx, max_entries, &count); *retry_list = tctx_task_work_run(tctx, max_entries, &count);
out:
if (task_work_pending(current))
task_work_run();
return count; return count;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment