Skip to content

Commit

Permalink
Merge tag 'io_uring-5.12-2021-04-16' of git://git.kernel.dk/linux-block
Browse files Browse the repository at this point in the history
Pull io_uring fix from Jens Axboe:
 "Fix for a potential hang at exit with SQPOLL from Pavel"

* tag 'io_uring-5.12-2021-04-16' of git://git.kernel.dk/linux-block:
  io_uring: fix early sqd_list removal sqpoll hangs
  • Loading branch information
torvalds committed Apr 16, 2021
2 parents 1515011 + c7d9561 commit 9cdbf64
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions fs/io_uring.c
Expand Up @@ -6754,6 +6754,9 @@ static int io_sq_thread(void *data)
current->flags |= PF_NO_SETAFFINITY;

mutex_lock(&sqd->lock);
/* a user may had exited before the thread started */
io_run_task_work_head(&sqd->park_task_work);

while (!test_bit(IO_SQ_THREAD_SHOULD_STOP, &sqd->state)) {
int ret;
bool cap_entries, sqt_spin, needs_sched;
Expand All @@ -6770,10 +6773,10 @@ static int io_sq_thread(void *data)
}
cond_resched();
mutex_lock(&sqd->lock);
if (did_sig)
break;
io_run_task_work();
io_run_task_work_head(&sqd->park_task_work);
if (did_sig)
break;
timeout = jiffies + sqd->sq_thread_idle;
continue;
}
Expand Down

0 comments on commit 9cdbf64

Please sign in to comment.