[PATCH v2 1/3] net: fortify eth_platform_get_mac_address()

From: Bartosz Golaszewski
Date: Thu Jul 19 2018 - 04:20:37 EST


From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>

We'll soon have more sources from which to read the MAC address in this
routine. Make sure the address is correct before returning it.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
---
net/ethernet/eth.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c
index ee28440f57c5..39af03894598 100644
--- a/net/ethernet/eth.c
+++ b/net/ethernet/eth.c
@@ -541,7 +541,7 @@ int eth_platform_get_mac_address(struct device *dev, u8 *mac_addr)
if (!addr)
addr = arch_get_platform_mac_address();

- if (!addr)
+ if (!addr || !is_valid_ether_addr(addr))
return -ENODEV;

ether_addr_copy(mac_addr, addr);
--
2.17.1