Thans for your review.
                                Mao Yingming

-----邮件原件-----
发件人: Somnath Kotur <somnath.ko...@broadcom.com> 
发送时间: 2022年8月2日 12:09
收件人: Mao,Yingming <maoyingm...@baidu.com>
抄送: dev@dpdk.org; Ajit Khaparde <ajit.khapa...@broadcom.com>; Kalesh AP 
<kalesh-anakkur.pura...@broadcom.com>; Thomas Monjalon <tho...@monjalon.net>
主题: Re: [PATCH v3] net/bnxt: fix null pointer dereference in 
bnxt_hwrm_port_led_cfg()

On Tue, Aug 2, 2022 at 9:38 AM Mao YingMing <maoyingm...@baidu.com> wrote:
>
> 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")
> Cc: sta...@dpdk.org
>
> Signed-off-by: Mao YingMing <maoyingm...@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..51e1e2d 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
>
Acked-by: Somnath Kotur <somnath.ko...@broadcom.com>

Reply via email to