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  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 13 Dec 2022 11:22:46 -0800
From:   Tony Nguyen <anthony.l.nguyen@...el.com>
To:     Lixue Liang <lianglixuehao@....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>, <lianglixue@...atwall.com.cn>,
        kernel test robot <lkp@...el.com>
Subject: Re: [PATCH v7] igb: Assign random MAC address instead of fail in case
 of invalid one

On 12/12/2022 11:47 PM, Lixue Liang wrote:
> 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.

Please include Intel Wired LAN, intel-wired-lan@...ts.osuosl.org, for 
Intel ethernet driver patches.

> 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);

Powered by blists - more mailing lists