Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1211,6 +1211,11 @@ int liquidio_change_mtu(struct net_device *netdev, int new_mtu)

	sc = (struct octeon_soft_command *)
		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;

@@ -1684,6 +1689,11 @@ int liquidio_set_fec(struct lio *lio, int on_off)

	sc = octeon_alloc_soft_command(oct, OCTNET_CMD_SIZE,
				       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;
	resp = sc->virtrptr;