diff options
author | Wen Yang <wen.yang99@zte.com.cn> | 2019-03-22 11:04:08 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-03-23 21:21:24 -0400 |
commit | be693df3cf9dd113ff1d2c0d8150199efdba37f6 (patch) | |
tree | de661513d01c85e448bcf06714b9778e60903eac /drivers/net/ethernet/ibm/ehea | |
parent | fa3a419d2f674b431d38748cb58fb7da17ee8949 (diff) | |
download | linux-stable-be693df3cf9dd113ff1d2c0d8150199efdba37f6.tar.gz linux-stable-be693df3cf9dd113ff1d2c0d8150199efdba37f6.tar.bz2 linux-stable-be693df3cf9dd113ff1d2c0d8150199efdba37f6.zip |
net: ibm: fix possible object reference leak
The call to ehea_get_eth_dn returns a node pointer with refcount
incremented thus it must be explicitly decremented after the last
usage.
Detected by coccinelle with the following warnings:
./drivers/net/ethernet/ibm/ehea/ehea_main.c:3163:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 3154, but without a corresponding object release within this function.
Signed-off-by: Wen Yang <wen.yang99@zte.com.cn>
Cc: Douglas Miller <dougmill@linux.ibm.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/ibm/ehea')
-rw-r--r-- | drivers/net/ethernet/ibm/ehea/ehea_main.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/ibm/ehea/ehea_main.c b/drivers/net/ethernet/ibm/ehea/ehea_main.c index 3baabdc89726..90b62c1412c8 100644 --- a/drivers/net/ethernet/ibm/ehea/ehea_main.c +++ b/drivers/net/ethernet/ibm/ehea/ehea_main.c @@ -3160,6 +3160,7 @@ static ssize_t ehea_probe_port(struct device *dev, if (ehea_add_adapter_mr(adapter)) { pr_err("creating MR failed\n"); + of_node_put(eth_dn); return -EIO; } |