From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B715B46211 for ; Thu, 13 Feb 2025 11:01:41 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B2CD740287; Thu, 13 Feb 2025 11:01:41 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id AEB3440287 for ; Thu, 13 Feb 2025 11:01:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1739440900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bqbykBU2j2Ir8ilQtoq1ad68D/z6QiGkgPJdvtHNfps=; b=MJ2laGtU3t5xHwf3hnUkoqsGnFr/ckLP6Oq8EuSNMiuqE5PS4CD5mNAQ8fbJUM951xNTyV 9dmbwTeekbubgm3/BcZYqA1kVKy+K9CU8eYtYbwj5CwHZZyOuvSeS2JK9WZKGeza9+mv5i TURbOYFWpxSubAgdYWOcA6AQRDXFpTk= Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-632-6PC_9WBvP0io5-sOqM5I5w-1; Thu, 13 Feb 2025 05:01:35 -0500 X-MC-Unique: 6PC_9WBvP0io5-sOqM5I5w-1 X-Mimecast-MFC-AGG-ID: 6PC_9WBvP0io5-sOqM5I5w Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id B8F1B1801A10; Thu, 13 Feb 2025 10:01:33 +0000 (UTC) Received: from rh.Home (unknown [10.45.224.21]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 241A01800365; Thu, 13 Feb 2025 10:01:31 +0000 (UTC) From: Kevin Traynor To: Yang Ming Cc: Dmitry Kozlyuk , dpdk stable Subject: patch 'eal/linux: fix memseg length in legacy mem init' has been queued to stable release 24.11.2 Date: Thu, 13 Feb 2025 09:58:15 +0000 Message-ID: <20250213095933.362078-48-ktraynor@redhat.com> In-Reply-To: <20250213095933.362078-1-ktraynor@redhat.com> References: <20250213095933.362078-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: rwM-Pk4D7hyNHkdM4Yfu-mcs6I6Fq5fk-5-FtyTonBA_1739440894 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 24.11.2 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/17/25. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/72cae7066a8d71dba1085f61863df406781a9fec Thanks. Kevin --- >From 72cae7066a8d71dba1085f61863df406781a9fec Mon Sep 17 00:00:00 2001 From: Yang Ming Date: Thu, 2 Jan 2025 16:58:38 +0800 Subject: [PATCH] eal/linux: fix memseg length in legacy mem init MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit b974cbbbef6e1036e7ed7d19fefb7ef8cda0e4a1 ] Fix the issue where OS memory is mistakenly freed with rte_free by setting the length (len) of unused memseg to 0. When `eal_legacy_hugepage_init()` releases the VA space for unused memseg lists(MSLs), it does not reset MSLs' length to 0. As a result, `mlx5_mem_is_rte()` may incorrectly identify OS memory as rte memory. This can lead to `mlx_free()` calling `rte_free()` on OS memory, causing an "EAL: Error: Invalid memory" log and failing to free the OS memory. This issue is occasional and occurs when the DPDK program’s memory map places the heap address range between 0 and len(32G). In such cases, malloc may return an address less than len, causing `mlx5_mem_is_rte()` to incorrectly treat it as rte memory. Also, consider how the MSL with `base_va == NULL` ends up in `mlx5_mem_is_rte()`. It comes from `rte_mem_virt2memseg_list()` which iterates MSLs and checks that an address belongs to [`base_va`; `base_va+len`) without checking whether `base_va == NULL` i.e. that the MSL is inactive. So this patch also corrects `rte_mem_virt2memseg_list()` behavior. Fixes: 66cc45e293ed ("mem: replace memseg with memseg lists") Signed-off-by: Yang Ming Acked-by: Dmitry Kozlyuk --- .mailmap | 1 + lib/eal/linux/eal_memory.c | 1 + 2 files changed, 2 insertions(+) diff --git a/.mailmap b/.mailmap index bd4b6778ec..7d9b19d51f 100644 --- a/.mailmap +++ b/.mailmap @@ -1718,4 +1718,5 @@ Yajun Wu Yangchao Zhou Yanglong Wu +Yang Ming Yang Zhang Yanjie Xu diff --git a/lib/eal/linux/eal_memory.c b/lib/eal/linux/eal_memory.c index 45879ca743..9dda60c0e1 100644 --- a/lib/eal/linux/eal_memory.c +++ b/lib/eal/linux/eal_memory.c @@ -1473,4 +1473,5 @@ eal_legacy_hugepage_init(void) munmap(msl->base_va, mem_sz); msl->base_va = NULL; + msl->len = 0; msl->heap = 0; -- 2.48.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2025-02-12 17:29:39.685530205 +0000 +++ 0048-eal-linux-fix-memseg-length-in-legacy-mem-init.patch 2025-02-12 17:29:34.345945900 +0000 @@ -1 +1 @@ -From b974cbbbef6e1036e7ed7d19fefb7ef8cda0e4a1 Mon Sep 17 00:00:00 2001 +From 72cae7066a8d71dba1085f61863df406781a9fec Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit b974cbbbef6e1036e7ed7d19fefb7ef8cda0e4a1 ] + @@ -34 +35,0 @@ -Cc: stable@dpdk.org @@ -44 +45 @@ -index 9209a716e0..19bbdbc0c8 100644 +index bd4b6778ec..7d9b19d51f 100644 @@ -47 +48 @@ -@@ -1723,4 +1723,5 @@ Yajun Wu +@@ -1718,4 +1718,5 @@ Yajun Wu