[PATCH] net/bnxt: fix null pointer dereference in bnxt_hwrm_port_led_cfg()
Somnath Kotur
somnath.kotur at broadcom.com
Tue Aug 2 05:06:49 CEST 2022
On Tue, Aug 2, 2022 at 8:33 AM Mao YingMing <maoyingming at baidu.com> wrote:
>
Thanks for the patch
> From: maoyingming <maoyingming at baidu.com>
>
> VFs's "bp->leds" is allways null, check bp->leds is
> not null before use bp->leds->num_leds.
Typo in 'always'
You can just say ' For VFs , bp->leds is uninitialized'
>
> 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")
> Cc: stable at dpdk.org
>
> Signed-off-by: Mao YingMing <maoyingming at baidu.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 9c52573..41e6067 100644
> --- a/drivers/net/bnxt/bnxt_hwrm.c
> +++ b/drivers/net/bnxt/bnxt_hwrm.c
> @@ -4535,7 +4535,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);
> --
> 1.8.3.1
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4212 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mails.dpdk.org/archives/dev/attachments/20220802/eb84b83a/attachment.bin>
More information about the dev
mailing list