Thread (29 messages) 29 messages, 6 authors, 2018-07-20

[PATCH 4/5] net: add support for nvmem to eth_platform_get_mac_address()

From: andrew@lunn.ch (Andrew Lunn)
Date: 2018-07-18 16:42:45
Also in: linux-omap, lkml, netdev

+		if (!IS_ERR(nvmem)) {
+			addr = nvmem_cell_read(nvmem, &alen);
+			if (!IS_ERR(addr)) {
+				from = "nvmem";
+				/* Don't use ether_addr_copy() in case we
+				 * didn't get the right size.
+				 */
Please verify the size. A short read can still give a valid MAC
address, so the is_valid_ether_addr(addr) is not sufficient.
+				memcpy(addrbuf, addr, alen);
Another reason to check the length is that you appear to have a buffer
overflow here, if alen > 6.

	 Andrew
+				kfree(addr);
+				addr = addrbuf;
+			}
+
+			nvmem_cell_put(nvmem);
+		}
+	}
+
 	if (!addr || !is_valid_ether_addr(addr))
 		return -ENODEV;
 
-- 
2.17.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help