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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Herbert,


> -----Original Message-----
> From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> Sent: Friday, March 31, 2023 2:33 PM
> To: Harsha, Harsha <harsha.harsha@xxxxxxx>
> Cc: davem@xxxxxxxxxxxxx; linux-crypto@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> michals@xxxxxxxxxx; saratcha@xxxxxxxxxx; git (AMD-Xilinx) <git@xxxxxxx>;
> Shah, Dhaval (CPG-PSAV) <dhaval.r.shah@xxxxxxx>
> 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@xxxxxxxxxxxxxxxxxxx> Home Page:
> http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt




[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]
  Powered by Linux