patch 'net/bnxt: fix null pointer dereference in LED config' has been queued to stable release 20.11.7

luca.boccassi at gmail.com luca.boccassi at gmail.com
Thu Nov 3 10:27:16 CET 2022


Hi,

FYI, your patch has been queued to stable release 20.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/05/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/0bf3f8ef0a20742340887646d41290ab8278ce34

Thanks.

Luca Boccassi

---
>From 0bf3f8ef0a20742340887646d41290ab8278ce34 Mon Sep 17 00:00:00 2001
From: Mao YingMing <maoyingming at baidu.com>
Date: Tue, 2 Aug 2022 12:08:17 +0800
Subject: [PATCH] net/bnxt: fix null pointer dereference in LED config

[ upstream commit 4bfb499829fa2bf216e38e56aa313c1dceef6ed5 ]

For VFs, bp->leds is uninitialized, check bp->leds is
not null before checking for bp->leds->num_leds.

segfault backtrace in trex program when use VF:
11: bnxt_hwrm_port_led_cfg (bp=0x23ffb2140, led_on=true)
10: bnxt_dev_led_on_op (dev=0x22d7780 <rte_eth_devices>)
 9: rte_eth_led_on (port_id=0)
 8: DpdkTRexPortAttr::set_led (this=0x23b6ce0, on=true)
 7: DpdkTRexPortAttr::DpdkTRexPortAttr
 6: CTRexExtendedDriverBnxt::create_port_attr
 5: CPhyEthIF::Create
 4: CGlobalTRex::device_start
 3: CGlobalTRex::Create
 2: main_test
 1: main

Fixes: d4d5a04 ("net/bnxt: fix unnecessary memory allocation")

Signed-off-by: Mao YingMing <maoyingming at baidu.com>
Acked-by: Somnath Kotur <somnath.kotur at broadcom.com>
Acked-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
---
 drivers/net/bnxt/bnxt_hwrm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 8b50e44fcf..bdb76e44d7 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -4409,7 +4409,7 @@ int bnxt_hwrm_port_led_cfg(struct bnxt *bp, bool led_on)
 	uint16_t duration = 0;
 	int rc, i;
 
-	if (!bp->leds->num_leds || BNXT_VF(bp))
+	if (BNXT_VF(bp) || !bp->leds || !bp->leds->num_leds)
 		return -EOPNOTSUPP;
 
 	HWRM_PREP(&req, HWRM_PORT_LED_CFG, BNXT_USE_CHIMP_MB);
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-03 09:27:28.912610262 +0000
+++ 0058-net-bnxt-fix-null-pointer-dereference-in-LED-config.patch	2022-11-03 09:27:25.469424299 +0000
@@ -1 +1 @@
-From 4bfb499829fa2bf216e38e56aa313c1dceef6ed5 Mon Sep 17 00:00:00 2001
+From 0bf3f8ef0a20742340887646d41290ab8278ce34 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4bfb499829fa2bf216e38e56aa313c1dceef6ed5 ]
+
@@ -23 +24,0 @@
-Cc: stable at dpdk.org
@@ -33 +34 @@
-index 9c5257309a..51e1e2d6b3 100644
+index 8b50e44fcf..bdb76e44d7 100644
@@ -36 +37 @@
-@@ -4535,7 +4535,7 @@ int bnxt_hwrm_port_led_cfg(struct bnxt *bp, bool led_on)
+@@ -4409,7 +4409,7 @@ int bnxt_hwrm_port_led_cfg(struct bnxt *bp, bool led_on)


More information about the stable mailing list