From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) by dpdk.org (Postfix) with ESMTP id 0AD855B30 for ; Mon, 30 Jul 2018 18:21:59 +0200 (CEST) Received: from 1.general.paelzer.uk.vpn ([10.172.196.172] helo=lap.fritz.box) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1fkArc-00009D-IB; Mon, 30 Jul 2018 16:17:40 +0000 From: Christian Ehrhardt To: Anatoly Burakov Cc: Andrew Rybchenko , dpdk stable Date: Mon, 30 Jul 2018 18:12:45 +0200 Message-Id: <20180730161342.16566-120-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180730161342.16566-1-christian.ehrhardt@canonical.com> References: <20180730161342.16566-1-christian.ehrhardt@canonical.com> Subject: [dpdk-stable] patch 'malloc: do not skip pad on free' has been queued to stable release 18.05.1 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2018 16:21:59 -0000 Hi, FYI, your patch has been queued to stable release 18.05.1 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 08/01/18. So please shout if anyone has objections. Thanks. Christian Ehrhardt --- >>From 086e05c754768deac7b0813d136b03241ae71464 Mon Sep 17 00:00:00 2001 From: Anatoly Burakov Date: Thu, 19 Jul 2018 10:42:46 +0100 Subject: [PATCH] malloc: do not skip pad on free [ upstream commit 9554dbb50a8a22942128a0e5bcb52243a4f723ab ] Previously, we were skipping erasing pad because we were expecting it to be freed when we were merging adjacent segments. However, if there were no adjacent segments to merge, we would've skipped erasing the pad, leaving non-zero memory in our free space. Fix this by including pad in the erasing unconditionally. Fixes: e43a9f52b7ff ("malloc: fix pad erasing") Reported-by: Andrew Rybchenko Signed-off-by: Anatoly Burakov Tested-by: Andrew Rybchenko --- lib/librte_eal/common/malloc_elem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/librte_eal/common/malloc_elem.c b/lib/librte_eal/common/malloc_elem.c index 944587bc5..a39a8e611 100644 --- a/lib/librte_eal/common/malloc_elem.c +++ b/lib/librte_eal/common/malloc_elem.c @@ -440,8 +440,8 @@ malloc_elem_free(struct malloc_elem *elem) void *ptr; size_t data_len; - ptr = RTE_PTR_ADD(elem, MALLOC_ELEM_HEADER_LEN + elem->pad); - data_len = elem->size - elem->pad - MALLOC_ELEM_OVERHEAD; + ptr = RTE_PTR_ADD(elem, MALLOC_ELEM_HEADER_LEN); + data_len = elem->size - MALLOC_ELEM_OVERHEAD; elem = malloc_elem_join_adjacent_free(elem); -- 2.17.1