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 524A9A0350 for ; Mon, 21 Feb 2022 16:41:18 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4B37D4013F; Mon, 21 Feb 2022 16:41:18 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id A90CB4013F for ; Mon, 21 Feb 2022 16:41:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1645458076; 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=qPkD1PGqVZpPMTFMQiQb73aaMNGDx5PzfANKmIj0ifQ=; b=KtaKLvl0FNW6fOSY8LuEXeOiQpcylt+Q/PTQfaNt+tYlUdY4O2Aj448XUQLHv7NfGluly7 qohNH+48oUFhTXHzO9DY9FONjIY56AUVqvs0MiR5cz7o07fR9sU997s1bwog1NU9aWXt21 lpg1f8HCJIOqD0eUYmBc3BxOI0adGP8= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-379-_hWzW-bkOCmSYViMet3sVA-1; Mon, 21 Feb 2022 10:41:11 -0500 X-MC-Unique: _hWzW-bkOCmSYViMet3sVA-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BA9D5343C9; Mon, 21 Feb 2022 15:41:10 +0000 (UTC) Received: from rh.Home (unknown [10.39.195.12]) by smtp.corp.redhat.com (Postfix) with ESMTP id 98D267E2F3; Mon, 21 Feb 2022 15:41:09 +0000 (UTC) From: Kevin Traynor To: Steve Yang Cc: Aman Singh , Ferruh Yigit , dpdk stable Subject: patch 'app/testpmd: fix stack overflow for EEPROM display' has been queued to stable release 21.11.1 Date: Mon, 21 Feb 2022 15:35:30 +0000 Message-Id: <20220221153625.152324-141-ktraynor@redhat.com> In-Reply-To: <20220221153625.152324-1-ktraynor@redhat.com> References: <20220221153625.152324-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ktraynor@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" 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 21.11.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 02/26/22. 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/ce413e192290e23ffc98ee1561c154516e789fb1 Thanks. Kevin --- >From ce413e192290e23ffc98ee1561c154516e789fb1 Mon Sep 17 00:00:00 2001 From: Steve Yang Date: Thu, 20 Jan 2022 02:59:31 +0000 Subject: [PATCH] app/testpmd: fix stack overflow for EEPROM display [ upstream commit ff6db8829678396d2d10b3c29744d36149608982 ] When the size of EEPROM exceeds the default thread stack size(8MB), e.g.: 10MB size, it will crash due to stack overflow. Allocate the data of EPPROM information on the heap. Fixes: 6b67721dee2a ("app/testpmd: add EEPROM command") Signed-off-by: Steve Yang Acked-by: Aman Singh Tested-by: Ferruh Yigit --- app/test-pmd/config.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index 1722d6c8f8..e812f57151 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -913,8 +913,13 @@ port_eeprom_display(portid_t port_id) } - char buf[len_eeprom]; einfo.offset = 0; einfo.length = len_eeprom; - einfo.data = buf; + einfo.data = calloc(1, len_eeprom); + if (!einfo.data) { + fprintf(stderr, + "Allocation of port %u eeprom data failed\n", + port_id); + return; + } ret = rte_eth_dev_get_eeprom(port_id, &einfo); @@ -934,8 +939,10 @@ port_eeprom_display(portid_t port_id) break; } + free(einfo.data); return; } rte_hexdump(stdout, "hexdump", einfo.data, einfo.length); printf("Finish -- Port: %d EEPROM length: %d bytes\n", port_id, len_eeprom); + free(einfo.data); } @@ -973,8 +980,13 @@ port_module_eeprom_display(portid_t port_id) } - char buf[minfo.eeprom_len]; einfo.offset = 0; einfo.length = minfo.eeprom_len; - einfo.data = buf; + einfo.data = calloc(1, minfo.eeprom_len); + if (!einfo.data) { + fprintf(stderr, + "Allocation of port %u eeprom data failed\n", + port_id); + return; + } ret = rte_eth_dev_get_module_eeprom(port_id, &einfo); @@ -995,4 +1007,5 @@ port_module_eeprom_display(portid_t port_id) break; } + free(einfo.data); return; } @@ -1000,4 +1013,5 @@ port_module_eeprom_display(portid_t port_id) rte_hexdump(stdout, "hexdump", einfo.data, einfo.length); printf("Finish -- Port: %d MODULE EEPROM length: %d bytes\n", port_id, einfo.length); + free(einfo.data); } -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-02-21 15:22:47.655336336 +0000 +++ 0141-app-testpmd-fix-stack-overflow-for-EEPROM-display.patch 2022-02-21 15:22:44.297704590 +0000 @@ -1 +1 @@ -From ff6db8829678396d2d10b3c29744d36149608982 Mon Sep 17 00:00:00 2001 +From ce413e192290e23ffc98ee1561c154516e789fb1 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ff6db8829678396d2d10b3c29744d36149608982 ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org