lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20221214011214.51836-1-lianglixuehao@126.com> Date: Wed, 14 Dec 2022 01:12:14 +0000 From: Lixue Liang <lianglixuehao@....com> To: anthony.l.nguyen@...el.com, kuba@...nel.org, linux-kernel@...r.kernel.org Cc: jesse.brandeburg@...el.com, davem@...emloft.net, edumazet@...gle.com, pabeni@...hat.com, netdev@...r.kernel.org, richardcochran@...il.com, ast@...nel.org, lianglixue@...atwall.com.cn, intel-wired-lan@...ts.osuosl.org, kernel test robot <lkp@...el.com> Subject: [PATCH v7] igb: Assign random MAC address instead of fail in case of invalid one From: Lixue Liang <lianglixue@...atwall.com.cn> Add the module parameter "allow_invalid_mac_address" to control the behavior. When set to true, a random MAC address is assigned, and the driver can be loaded, allowing the user to correct the invalid MAC address. Signed-off-by: Lixue Liang <lianglixue@...atwall.com.cn> --- Changelog: * v7: - To group each parameter together Suggested-by Tony Nguyen <anthony.l.nguyen@...el.com> * v6: - Modify commit messages and naming of module parameters - [PATCH v6] link: https://lore.kernel.org/netdev/20220610023922.74892-1-lianglixuehao@126.com/ Suggested-by Paul <pmenzel@...gen.mpg.de> * v5: - Through the setting of module parameters, it is allowed to complete the loading of the igb network card driver with an invalid MAC address. - [PATCH v5] link: https://lore.kernel.org/netdev/20220609083904.91778-1-lianglixuehao@126.com/ Suggested-by <alexander.duyck@...il.com> * v4: - Change the igb_mian in the title to igb - Fix dev_err message: replace "already assigned random MAC address" with "Invalid MAC address. Assigned random MAC address" - [PATCH v4] link: https://lore.kernel.org/netdev/20220601150428.33945-1-lianglixuehao@126.com/ Suggested-by Tony <anthony.l.nguyen@...el.com> * v3: - Add space after comma in commit message - Correct spelling of MAC address - [PATCH v3] link: https://lore.kernel.org/netdev/20220530105834.97175-1-lianglixuehao@126.com/ Suggested-by Paul <pmenzel@...gen.mpg.de> * v2: - Change memcpy to ether_addr_copy - Change dev_info to dev_err - Fix the description of the commit message - Change eth_random_addr to eth_hw_addr_random - [PATCH v2] link: https://lore.kernel.org/netdev/20220512093918.86084-1-lianglixue@greatwall.com.cn/ Reported-by: kernel test robot <lkp@...el.com> drivers/net/ethernet/intel/igb/igb_main.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index f8e32833226c..8ff0c698383c 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -241,6 +241,10 @@ static int debug = -1; module_param(debug, int, 0); MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)"); +static bool allow_invalid_mac_address; +module_param(allow_invalid_mac_address, bool, 0); +MODULE_PARM_DESC(allow_invalid_mac_address, "Allow NIC driver to be loaded with invalid MAC address"); + struct igb_reg_info { u32 ofs; char *name; @@ -3358,9 +3362,16 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) eth_hw_addr_set(netdev, hw->mac.addr); if (!is_valid_ether_addr(netdev->dev_addr)) { - dev_err(&pdev->dev, "Invalid MAC Address\n"); - err = -EIO; - goto err_eeprom; + if (!allow_invalid_mac_address) { + dev_err(&pdev->dev, "Invalid MAC address\n"); + err = -EIO; + goto err_eeprom; + } else { + eth_hw_addr_random(netdev); + ether_addr_copy(hw->mac.addr, netdev->dev_addr); + dev_err(&pdev->dev, + "Invalid MAC address. Assigned random MAC address\n"); + } } igb_set_default_mac_filter(adapter); -- 2.27.0
Powered by blists - more mailing lists