From 877d53d04100e76db1c67abc5bf6b9bda0a53f64 Mon Sep 17 00:00:00 2001 From: Sushil Kumar Singh Date: Mon, 13 Feb 2023 01:11:37 +0530 Subject: [PATCH] nvethernet: Error check for mac address DT node Issue: Incorrect return value check for of_get_mac_address() when reading mac address from dt property. Fix: 1. Modify error check condition based on of_get_mac_address() return values. 2. Fixes the Coverity defect CID 10166538. Bug 3952896 Change-Id: I65ddd05538ad3039da2a21a79be8bb7a0ed1f3fc Signed-off-by: Sushil Kumar Singh Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2857036 Reviewed-by: Bhadram Varka Reviewed-by: Narayan Reddy Reviewed-by: Sachin Nikam GVS: Gerrit_Virtual_Submit --- .../ethernet/nvidia/nvethernet/ether_linux.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c index 38ef3b0c..c81c051d 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c @@ -4662,23 +4662,11 @@ static int ether_get_mac_address(struct ether_priv_data *pdata) * MAC address */ ret = of_get_mac_address(np, addr); - if (!ret) + if (ret < 0) { + dev_err(dev, "No Mac address local DT!\n"); return ret; - eth_mac_addr = addr; - - if (IS_ERR_OR_NULL(eth_mac_addr)) { - dev_err(dev, "No MAC address in local DT!\n"); - return -EINVAL; } - } - - /* If neither chosen node nor kernel supported dt strings are - * present in platform device tree. - */ - if (!(is_valid_ether_addr(eth_mac_addr)) || - IS_ERR_OR_NULL(eth_mac_addr)) { - dev_err(dev, "Bad mac address exiting\n"); - return -EINVAL; + eth_mac_addr = addr; } /* Found a valid mac address */