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>
        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);
 
        struct cryptd_state *state = data;
        int stop;
 
+       current->flags |= PF_NOFREEZE;
+
        do {
                struct crypto_async_request *req, *backlog;