> + 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 > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html