Commit 41af8b3a authored by Kangjie Lu's avatar Kangjie Lu Committed by David S. Miller

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: default avatarKangjie Lu <kjlu@umn.edu>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent dd9d9f59
...@@ -1211,6 +1211,11 @@ int liquidio_change_mtu(struct net_device *netdev, int new_mtu) ...@@ -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) ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment