From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <stable-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 0B0B6A04C1
	for <public@inbox.dpdk.org>; Tue, 26 Nov 2019 13:57:59 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id DDBEB2A5D;
	Tue, 26 Nov 2019 13:57:58 +0100 (CET)
Received: from mga12.intel.com (mga12.intel.com [192.55.52.136])
 by dpdk.org (Postfix) with ESMTP id 505422A5D;
 Tue, 26 Nov 2019 13:57:57 +0100 (CET)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from fmsmga004.fm.intel.com ([10.253.24.48])
 by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 26 Nov 2019 04:57:56 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.69,245,1571727600"; d="scan'208";a="233737953"
Received: from aburakov-mobl1.ger.corp.intel.com (HELO [10.237.220.92])
 ([10.237.220.92])
 by fmsmga004.fm.intel.com with ESMTP; 26 Nov 2019 04:57:54 -0800
To: Thomas Monjalon <thomas@monjalon.net>, Xueming Li <xuemingl@mellanox.com>
Cc: dev@dpdk.org, Asaf Penso <asafp@mellanox.com>, stable@dpdk.org,
 david.marchand@redhat.com
References: <1574346302-1263-1-git-send-email-xuemingl@mellanox.com>
 <fdfae084-9d58-a0c5-530e-10c77d7d2869@intel.com> <1911864.xaV5BFYatv@xps>
From: "Burakov, Anatoly" <anatoly.burakov@intel.com>
Message-ID: <d818e52e-0aa0-7cd6-d6ab-6d7ef973c3c4@intel.com>
Date: Tue, 26 Nov 2019 12:57:53 +0000
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <1911864.xaV5BFYatv@xps>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH] malloc: fix memory element
 size in case of padding
X-BeenThere: stable@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches for DPDK stable branches <stable.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/stable>,
 <mailto:stable-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/stable/>
List-Post: <mailto:stable@dpdk.org>
List-Help: <mailto:stable-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/stable>,
 <mailto:stable-request@dpdk.org?subject=subscribe>
Errors-To: stable-bounces@dpdk.org
Sender: "stable" <stable-bounces@dpdk.org>

On 25-Nov-19 11:24 PM, Thomas Monjalon wrote:
> 21/11/2019 16:14, Burakov, Anatoly:
>> On 21-Nov-19 2:25 PM, Xueming Li wrote:
>>> This patch fixes wrong inner memory element size when joining two
>>> elements.
>>>
>>> Fixes: af75078fece3 ("first public release")
>>> Cc: stable@dpdk.org
>>>
>>> Signed-off-by: Xueming Li <xuemingl@mellanox.com>
>>> ---
>>> --- a/lib/librte_eal/common/malloc_elem.c
>>> +++ b/lib/librte_eal/common/malloc_elem.c
>>> @@ -487,6 +487,10 @@ join_elem(struct malloc_elem *elem1, struct malloc_elem *elem2)
>>>    	else
>>>    		elem1->heap->last = elem1;
>>>    	elem1->next = next;
>>> +	if (elem1->pad) {
>>> +		struct malloc_elem *inner = RTE_PTR_ADD(elem1, elem1->pad);
>>> +		inner->size = elem1->size - elem1->pad;
>>> +	}
>>>    }
>>
>> Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
> 
> I don't understand this patch.
> The variable inner is never used.
> What am I missing?
> 

For padded elements, malloc element has two headers - the "outer" header 
with empty space after it, and the "inner" header, after which the user 
memory actually starts. This makes it so that, when joining elements, if 
the outer element had a pad, we also update the inner element size to match.

-- 
Thanks,
Anatoly