On Fri, Oct 25, 2019 at 09:23:35PM +0200, Simon Goldschmidt wrote: > When full malloc is enabled and SYS_MALLOC_F is also enabled, the simple > pre-reloc heap is used before relocation. In this case, calloc() uses > the MALLOC_ZERO macro to zero out the allocated memory. However, since > this macro is specially crafted for the dlmalloc implementation, it > does not always work for simple malloc. > > For example, when allocating 16 bytes via simple malloc, only the first > 12 bytes get zeroed out. The last 4 bytes will remain untouched. > > This is a problem for DM drivers that are allocated before relocation: > memory allocated via 'platdata_auto_alloc_size' might not be set to > zero, resulting in bogus behaviour. > > To fix this, use 'memset' instead of 'MALLOC_ZERO' to zero out memory > that compes from simple malloc. > > Signed-off-by: Simon Goldschmidt <simon.k.r.goldschm...@gmail.com> > Reviewed-by: Tom Rini <tr...@konsulko.com>
Applied to u-boot/master, thanks! -- Tom
signature.asc
Description: PGP signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot