OSDN Git Service

net: sparx5: switchdev: fix possible NULL pointer dereference
authorZheng Yongjun <zhengyongjun3@huawei.com>
Sat, 26 Mar 2022 08:12:39 +0000 (08:12 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 26 Mar 2022 18:49:09 +0000 (11:49 -0700)
As the possible failure of the allocation, devm_kzalloc() may return NULL
pointer.
Therefore, it should be better to check the 'db' in order to prevent
the dereference of NULL pointer.

Fixes: 10615907e9b51 ("net: sparx5: switchdev: adding frame DMA functionality")
Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/microchip/sparx5/sparx5_fdma.c

index 2dc8758..1e9ff36 100644 (file)
@@ -422,6 +422,8 @@ static int sparx5_fdma_tx_alloc(struct sparx5 *sparx5)
                        db_hw->dataptr = phys;
                        db_hw->status = 0;
                        db = devm_kzalloc(sparx5->dev, sizeof(*db), GFP_KERNEL);
+                       if (!db)
+                               return -ENOMEM;
                        db->cpu_addr = cpu_addr;
                        list_add_tail(&db->list, &tx->db_list);
                }