Selaa lähdekoodia

[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>
Rafael J. Wysocki 18 vuotta sitten
vanhempi
commit
189fe3174c
1 muutettua tiedostoa jossa 3 lisäystä ja 1 poistoa
  1. 3 1
      crypto/cryptd.c

+ 3 - 1
crypto/cryptd.c

@@ -298,7 +298,7 @@ static inline int cryptd_create_thread(struct cryptd_state *state,
 	mutex_init(&state->mutex);
 	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))
 		return PTR_ERR(state->task);
 
@@ -316,6 +316,8 @@ static int cryptd_thread(void *data)
 	struct cryptd_state *state = data;
 	int stop;
 
+	current->flags |= PF_NOFREEZE;
+
 	do {
 		struct crypto_async_request *req, *backlog;