crypto: caam - strip input zeros from RSA input buffer
authorHoria Geantă <horia.geanta@nxp.com>
Mon, 16 Apr 2018 13:07:05 +0000 (08:07 -0500)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 20 Apr 2018 16:59:03 +0000 (00:59 +0800)
commit8a2a0dd35f2e54c023d9041a5428b6c5639af86c
tree3f0a0c792acfedeae9d9073984d618d9ecf2cb63
parent49d1179573c0286474d92529544ad3a1349d15df
crypto: caam - strip input zeros from RSA input buffer

Sometimes the provided RSA input buffer provided is not stripped
of leading zeros. This could cause its size to be bigger than that
of the modulus, making the HW complain:

caam_jr 2142000.jr1: 40000789: DECO: desc idx 7:
Protocol Size Error - A protocol has seen an error in size. When
running RSA, pdb size N < (size of F) when no formatting is used; or
pdb size N < (F + 11) when formatting is used.

Fix the problem by stripping off the leading zero from input data
before feeding it to the CAAM accelerator.

Fixes: 8c419778ab57e ("crypto: caam - add support for RSA algorithm")
Cc: <stable@vger.kernel.org> # 4.8+
Reported-by: Martin Townsend <mtownsend1973@gmail.com>
Link: https://lkml.kernel.org/r/CABatt_ytYORYKtApcB4izhNanEKkGFi9XAQMjHi_n-8YWoCRiw@mail.gmail.com
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/caam/caampkc.c
drivers/crypto/caam/caampkc.h