Loading fs/io-wq.c +8 −4 Original line number Diff line number Diff line Loading @@ -445,10 +445,14 @@ static void io_worker_handle_work(struct io_worker *worker) task_unlock(current); } if ((work->flags & IO_WQ_WORK_NEEDS_USER) && !worker->mm && wq->mm && mmget_not_zero(wq->mm)) { wq->mm) { if (mmget_not_zero(wq->mm)) { use_mm(wq->mm); set_fs(USER_DS); worker->mm = wq->mm; } else { work->flags |= IO_WQ_WORK_CANCEL; } } if (!worker->creds) worker->creds = override_creds(wq->creds); Loading Loading
fs/io-wq.c +8 −4 Original line number Diff line number Diff line Loading @@ -445,10 +445,14 @@ static void io_worker_handle_work(struct io_worker *worker) task_unlock(current); } if ((work->flags & IO_WQ_WORK_NEEDS_USER) && !worker->mm && wq->mm && mmget_not_zero(wq->mm)) { wq->mm) { if (mmget_not_zero(wq->mm)) { use_mm(wq->mm); set_fs(USER_DS); worker->mm = wq->mm; } else { work->flags |= IO_WQ_WORK_CANCEL; } } if (!worker->creds) worker->creds = override_creds(wq->creds); Loading