[PATCH V2 3/4] crypto: xilinx: Add ZynqMP RSA driver

Harsha, Harsha harsha.harsha at amd.com
Mon Apr 3 02:47:58 PDT 2023


Hi Herbert,


> -----Original Message-----
> From: Herbert Xu <herbert at gondor.apana.org.au>
> Sent: Friday, March 31, 2023 2:33 PM
> To: Harsha, Harsha <harsha.harsha at amd.com>
> Cc: davem at davemloft.net; linux-crypto at vger.kernel.org; linux-
> kernel at vger.kernel.org; linux-arm-kernel at lists.infradead.org;
> michals at xilinx.com; saratcha at xilinx.com; git (AMD-Xilinx) <git at amd.com>;
> Shah, Dhaval (CPG-PSAV) <dhaval.r.shah at amd.com>
> Subject: Re: [PATCH V2 3/4] crypto: xilinx: Add ZynqMP RSA driver
> 
> On Tue, Mar 21, 2023 at 11:04:45AM +0530, Harsha Harsha wrote:
> >
> > +static inline int xilinx_copy_and_save_keypart(u8 **kpbuf, unsigned int
> *kplen,
> > +					       const u8 *buf, size_t sz) {
> > +	int nskip;
> > +
> > +	for (nskip = 0; nskip < sz; nskip++)
> > +		if (buf[nskip])
> > +			break;
> > +
> > +	*kplen = sz - nskip;
> > +	*kpbuf = kmemdup(buf + nskip, *kplen, GFP_KERNEL);
> > +	if (!*kpbuf)
> > +		return -ENOMEM;
> > +
> > +	return 0;
> > +}
> 
> ...
> 
> > +static int xilinx_rsa_setkey(struct crypto_akcipher *tfm, const void *key,
> > +			     unsigned int keylen, bool private) {
> > +	struct xilinx_rsa_tfm_ctx *tctx = akcipher_tfm_ctx(tfm);
> > +	struct rsa_key raw_key;
> > +	int ret;
> > +
> > +	if (private)
> > +		ret = rsa_parse_priv_key(&raw_key, key, keylen);
> > +	else
> > +		ret = rsa_parse_pub_key(&raw_key, key, keylen);
> > +	if (ret)
> > +		goto n_key;
> > +
> > +	ret = xilinx_copy_and_save_keypart(&tctx->n_buf, &tctx->n_len,
> > +					   raw_key.n, raw_key.n_sz);
> 
> What happens when you call setkey twice? Wouldn't this leak memory?

Thanks for the review. I will check the behavior and get back to you.

Regards,
Harsha

> 
> Cheers,
> --
> Email: Herbert Xu <herbert at gondor.apana.org.au> Home Page:
> http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



More information about the linux-arm-kernel mailing list