net/bnxt: do not use possibly NULL pointers
Checks
Commit Message
Check that pointers are valid before using them.
Fixes: 7bc8e9a227ccb ("net/bnxt: support async link notification")
Cc: stable@dpdk.org
Cc: Ajit Khaparde <ajit.khaparde@broadcom.com>
Cc: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Thierry Herbelot <thierry.herbelot@6wind.com>
---
drivers/net/bnxt/bnxt_irq.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Comments
On Mon, May 24, 2021 at 2:00 AM Thierry Herbelot
<thierry.herbelot@6wind.com> wrote:
>
> Check that pointers are valid before using them.
>
> Fixes: 7bc8e9a227ccb ("net/bnxt: support async link notification")
> Cc: stable@dpdk.org
> Cc: Ajit Khaparde <ajit.khaparde@broadcom.com>
> Cc: Somnath Kotur <somnath.kotur@broadcom.com>
>
> Signed-off-by: Thierry Herbelot <thierry.herbelot@6wind.com>
Modified the commit headline and applied to
dpdk-next-net-brcm/for-next-net branch.
Thanks
> ---
> drivers/net/bnxt/bnxt_irq.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/bnxt/bnxt_irq.c b/drivers/net/bnxt/bnxt_irq.c
> index 8abbadb3d19d..fd8b8fac989a 100644
> --- a/drivers/net/bnxt/bnxt_irq.c
> +++ b/drivers/net/bnxt/bnxt_irq.c
> @@ -21,11 +21,14 @@ void bnxt_int_handler(void *param)
> {
> struct rte_eth_dev *eth_dev = (struct rte_eth_dev *)param;
> struct bnxt *bp = eth_dev->data->dev_private;
> - struct bnxt_cp_ring_info *cpr = bp->async_cp_ring;
> + struct bnxt_cp_ring_info *cpr;
> struct cmpl_base *cmp;
> uint32_t raw_cons;
> uint32_t cons;
>
> + if (bp == NULL)
> + return;
> + cpr = bp->async_cp_ring;
> if (cpr == NULL)
> return;
>
> --
> 2.29.2
>
@@ -21,11 +21,14 @@ void bnxt_int_handler(void *param)
{
struct rte_eth_dev *eth_dev = (struct rte_eth_dev *)param;
struct bnxt *bp = eth_dev->data->dev_private;
- struct bnxt_cp_ring_info *cpr = bp->async_cp_ring;
+ struct bnxt_cp_ring_info *cpr;
struct cmpl_base *cmp;
uint32_t raw_cons;
uint32_t cons;
+ if (bp == NULL)
+ return;
+ cpr = bp->async_cp_ring;
if (cpr == NULL)
return;