net: lio_core: fix two NULL pointer dereferences
In case octeon_alloc_soft_command fails, the fix reports the error and returns to avoid NULL pointer dereferences. Signed-off-by: Kangjie Lu <kjlu@umn.edu> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
dd9d9f5907
commit
41af8b3a09
@@ -1211,6 +1211,11 @@ int liquidio_change_mtu(struct net_device *netdev, int new_mtu)
|
|||||||
|
|
||||||
sc = (struct octeon_soft_command *)
|
sc = (struct octeon_soft_command *)
|
||||||
octeon_alloc_soft_command(oct, OCTNET_CMD_SIZE, 16, 0);
|
octeon_alloc_soft_command(oct, OCTNET_CMD_SIZE, 16, 0);
|
||||||
|
if (!sc) {
|
||||||
|
netif_info(lio, rx_err, lio->netdev,
|
||||||
|
"Failed to allocate soft command\n");
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
ncmd = (union octnet_cmd *)sc->virtdptr;
|
ncmd = (union octnet_cmd *)sc->virtdptr;
|
||||||
|
|
||||||
@@ -1684,6 +1689,11 @@ int liquidio_set_fec(struct lio *lio, int on_off)
|
|||||||
|
|
||||||
sc = octeon_alloc_soft_command(oct, OCTNET_CMD_SIZE,
|
sc = octeon_alloc_soft_command(oct, OCTNET_CMD_SIZE,
|
||||||
sizeof(struct oct_nic_seapi_resp), 0);
|
sizeof(struct oct_nic_seapi_resp), 0);
|
||||||
|
if (!sc) {
|
||||||
|
dev_err(&oct->pci_dev->dev,
|
||||||
|
"Failed to allocate soft command\n");
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
ncmd = sc->virtdptr;
|
ncmd = sc->virtdptr;
|
||||||
resp = sc->virtrptr;
|
resp = sc->virtrptr;
|
||||||
|
Reference in New Issue
Block a user