From: Damjan Marion Date: Thu, 5 Nov 2020 13:54:08 +0000 (+0100) Subject: vppinfra: mspace_get_aligned should respect MALLOC_ALIGNMENT X-Git-Tag: v21.06-rc0~218 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=dcb1db9eb10ce0ff96008f82e119269dc8f3e209;p=vpp.git vppinfra: mspace_get_aligned should respect MALLOC_ALIGNMENT While underlying mspace_malloc() respects MALLOC_ALIGNMENT (16) mspace_get_aligned moves start of data for 4 bytes making final result not aligned to MALLOC_ALIGNED. Type: fix Change-Id: Ib1584f315e3658b3b748ebf4886fb7389ce640fe Signed-off-by: Damjan Marion --- diff --git a/src/vppinfra/dlmalloc.c b/src/vppinfra/dlmalloc.c index 7c4664bf8fd..36c80b09b87 100644 --- a/src/vppinfra/dlmalloc.c +++ b/src/vppinfra/dlmalloc.c @@ -4200,28 +4200,7 @@ void* mspace_get_aligned (mspace msp, * the base of the dlmalloc object */ n_user_data_bytes += sizeof(unsigned); - - /* - * Alignment requests less than the size of an mmx vector are ignored - */ - if (align < sizeof (uword)) { - rv = mspace_malloc (msp, n_user_data_bytes); - if (rv == 0) - return rv; - - if (use_trace(ms)) { - mchunkptr p = mem2chunk(rv); - size_t psize = chunksize(p); - - mheap_get_trace ((unsigned long)rv + sizeof (unsigned), psize); - } - - wwp = (unsigned *)rv; - *wwp = 0; - rv += sizeof (unsigned); - - return rv; - } + align = align < MALLOC_ALIGNMENT ? MALLOC_ALIGNMENT : align; /* * Alignment requests greater than 4K must be at offset zero,