[U-Boot] [PATCH v2] crypto/fsl: fix BLOB encapsulation and decapsulation
Clemens Gruber
clemens.gruber at pqgruber.com
Fri Jan 5 13:02:15 UTC 2018
Hi Sumit, Fabio, York,
On Fri, Jan 05, 2018 at 06:47:36AM +0000, Sumit Garg wrote:
> Hi Clemens, York, Fabio,
>
> > -----Original Message-----
> > From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Fabio
> > Estevam
> > Sent: Friday, January 05, 2018 3:27 AM
> > To: York Sun <york.sun at nxp.com>
> > Cc: Breno Matheus Lima <breno.lima at nxp.com>; u-boot at lists.denx.de;
> > clemens.gruber at pqgruber.com; Fabio Estevam <fabio.estevam at nxp.com>
> > Subject: [U-Boot] [PATCH v2] crypto/fsl: fix BLOB encapsulation and
> > decapsulation
> >
>
> <snip>
>
> >
> > int blob_decap(u8 *key_mod, u8 *src, u8 *dst, u32 len) {
> > - int ret, i = 0;
> > + ALLOC_CACHE_ALIGN_BUFFER(u8, aligned_key_mod, 16);
> > + u8 *aligned_src, *aligned_dst;
> > + int ret, size, i = 0;
> > u32 *desc;
> >
> > printf("\nDecapsulating blob to get data\n");
> > - desc = malloc(sizeof(int) * MAX_CAAM_DESCSIZE);
> > + desc = malloc_cache_aligned(sizeof(int) * MAX_CAAM_DESCSIZE);
> > if (!desc) {
> > debug("Not enough memory for descriptor allocation\n");
> > - return -1;
> > + return -ENOMEM;
> > }
> >
> > - inline_cnstr_jobdesc_blob_decap(desc, key_mod, src, dst, len);
> > + aligned_src = malloc_cache_aligned(BLOB_SIZE(len));
> > + aligned_dst = malloc_cache_aligned(len);
>
> Please don't use malloc here as these blob_encap and blob_decap commands are used to blobify or deblobify images of maximum sizes upto 32 MB.
>
> But u-boot malloc pool is of size:
>
> /* Size of malloc() pool */
> #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 2048 * 1024)
>
> So please remove malloc from this patch for source and destination images as it will fail for larger images.
I could use ALLOC_CACHE_ALIGN_BUFFER to store the aligned_src and _dst
buffers on the stack instead of the malloc pool.
Or would you rather remove the copying and require the caller of
blob_encap/_decap to pass correctly aligned addresses?
York: Should I send a v3 or a fixup patch ontop of v2.
Thanks,
Clemens
More information about the U-Boot
mailing list