yangmengfei1394@xxxxxxxxxxxxxx wrote: > > diff --git a/include/crypto/akcipher.h b/include/crypto/akcipher.h > index f35fd653e4e5..a68f0e23bf89 100644 > --- a/include/crypto/akcipher.h > +++ b/include/crypto/akcipher.h > @@ -459,7 +459,9 @@ static inline int crypto_akcipher_set_priv_key(struct crypto_akcipher *tfm, > unsigned int keylen) > { > struct akcipher_alg *alg = crypto_akcipher_alg(tfm); > - > - return alg->set_priv_key(tfm, key, keylen); > + if (likely(alg->set_priv_key != NULL)) > + return alg->set_priv_key(tfm, key, keylen); > + else > + return -EPERM; > } > #endif Instead of doing this, we should move the code that sets the default functions from crypto_register_akcipher into akcipher_prepare_alg. Thanks, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt