From: Tadeusz Struk Subject: Re: v4.6-rc1 regression bisected, Problem loading in-kernel X.509 certificate (-2) Date: Tue, 3 May 2016 21:34:26 -0700 Message-ID: <45d1a06b-4ec4-17f5-2888-3068558da0bb@gmail.com> References: <20160503172536.GC20775@cucamonga.audible.transient.net> <20160430083248.GA20775@cucamonga.audible.transient.net> <26795.1462266613@warthog.procyon.org.uk> <11323.1462307740@warthog.procyon.org.uk> <20160504022608.GF20775@cucamonga.audible.transient.net> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Cc: David Howells , Herbert Xu , linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, tadeusz.struk@intel.com To: Jamie Heilman Return-path: In-Reply-To: <20160504022608.GF20775@cucamonga.audible.transient.net> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-crypto.vger.kernel.org On 05/03/2016 07:26 PM, Jamie Heilman wrote: >>> Alrighty, presumably relevant bits: >>> > > >>> > > X.509: Cert Issuer: Build time autogenerated kernel key >>> > > X.509: Cert Subject: Build time autogenerated kernel key >>> > > X.509: Cert Key Algo: rsa >>> > > X.509: Cert Valid period: 1461826791-4615426791 >>> > > X.509: Cert Signature: rsa + sha512 >>> > > X.509: ==>x509_check_signature() >>> > > X.509: ==>x509_get_sig_params() >>> > > X.509: <==x509_get_sig_params() = 0 >>> > > PKEY: ==>public_key_verify_signature() >>> > > X.509: Cert Verification: -2 >> > >> > Hmmm... Okay, the only ways out of public_key_verify_signature() without >> > printing a leaving message are for snprintf() to overrun (which would return >> > error -22) or for crypto_alloc_akcipher() to have failed; everything else must >> > go through the kleave() at the pr_devel() at the bottom of the function. >> > >> > Can you stick: >> > >> > pr_devel("ALGO: %s\n", alg_name); >> > >> > immediately before this line: >> > >> > tfm = crypto_alloc_akcipher(alg_name, 0, 0); >> > >> > and try it again? > PKEY: ALGO: pkcs1pad(rsa,sha512) I think the problem is that pkcs1pad template needs CRYPTO_MANAGER, but your configuration doesn't enable CRYPTO_MANAGER. Could you try this please: diff --git a/crypto/Kconfig b/crypto/Kconfig index 93a1fdc..1d33beb 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig @@ -96,6 +96,7 @@ config CRYPTO_AKCIPHER config CRYPTO_RSA tristate "RSA algorithm" select CRYPTO_AKCIPHER + select CRYPTO_MANAGER select MPILIB select ASN1 help