malloc: protect stats with lock
authorAnatoly Burakov <anatoly.burakov@intel.com>
Thu, 21 Dec 2017 17:32:04 +0000 (17:32 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 12 Jan 2018 14:46:19 +0000 (15:46 +0100)
commitf13d705a619d7a7e04d51b686dd62e890ecf1bd5
treef0627cb45982475b7eb659269bdc69f311dbe862
parentdb22d31a79733f08e974f134c883361fd8641984
malloc: protect stats with lock

When we're gathering statistics, we are traversing the freelist,
which may change under our feet in multithreaded scenario. This
is verified by occasional segfaults when running malloc autotest
on a machine with big amount of cores.

This patch protects malloc heap stats call with a lock. It changes
its definition in the process due to locking invalidating the
const-ness, but this isn't a public API, so that's OK.

Fixes: 2a5c356e177d ("memory: stats for malloc")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
lib/librte_eal/common/malloc_heap.c
lib/librte_eal/common/malloc_heap.h