Unverified Commit 88ee450e authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!14904 net: renesas: rswitch: avoid use-after-put for a device tree node

parents de7233ed c567ed5d
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1741,7 +1741,6 @@ static int rswitch_device_alloc(struct rswitch_private *priv, int index)
	rdev->np_port = rswitch_get_port_node(rdev);
	rdev->disabled = !rdev->np_port;
	err = of_get_ethdev_address(rdev->np_port, ndev);
	of_node_put(rdev->np_port);
	if (err) {
		if (is_valid_ether_addr(rdev->etha->mac_addr))
			eth_hw_addr_set(ndev, rdev->etha->mac_addr);
@@ -1771,6 +1770,7 @@ static int rswitch_device_alloc(struct rswitch_private *priv, int index)

out_rxdmac:
out_get_params:
	of_node_put(rdev->np_port);
	netif_napi_del(&rdev->napi);
	free_netdev(ndev);

@@ -1784,6 +1784,7 @@ static void rswitch_device_free(struct rswitch_private *priv, int index)

	rswitch_txdmac_free(ndev);
	rswitch_rxdmac_free(ndev);
	of_node_put(rdev->np_port);
	netif_napi_del(&rdev->napi);
	free_netdev(ndev);
}