[CRYPTO] cryptd: Fix problem with cryptd and the freezer
Make sure that cryptd is marked as nonfreezable and does not hold up the freezer. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Родитель
7a74fc4925
Коммит
189fe3174c
|
@ -298,7 +298,7 @@ static inline int cryptd_create_thread(struct cryptd_state *state,
|
||||||
mutex_init(&state->mutex);
|
mutex_init(&state->mutex);
|
||||||
crypto_init_queue(&state->queue, CRYPTD_MAX_QLEN);
|
crypto_init_queue(&state->queue, CRYPTD_MAX_QLEN);
|
||||||
|
|
||||||
state->task = kthread_create(fn, state, name);
|
state->task = kthread_run(fn, state, name);
|
||||||
if (IS_ERR(state->task))
|
if (IS_ERR(state->task))
|
||||||
return PTR_ERR(state->task);
|
return PTR_ERR(state->task);
|
||||||
|
|
||||||
|
@ -316,6 +316,8 @@ static int cryptd_thread(void *data)
|
||||||
struct cryptd_state *state = data;
|
struct cryptd_state *state = data;
|
||||||
int stop;
|
int stop;
|
||||||
|
|
||||||
|
current->flags |= PF_NOFREEZE;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
struct crypto_async_request *req, *backlog;
|
struct crypto_async_request *req, *backlog;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче