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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <IA3PR11MB89868B6110780F90795E4ED7E599A@IA3PR11MB8986.namprd11.prod.outlook.com>
Date: Thu, 5 Feb 2026 08:13:39 +0000
From: "Loktionov, Aleksandr" <aleksandr.loktionov@...el.com>
To: Ethan Nelson-Moore <enelsonmoore@...il.com>, "netdev@...r.kernel.org"
	<netdev@...r.kernel.org>, "linux-wireless@...r.kernel.org"
	<linux-wireless@...r.kernel.org>
CC: Johannes Berg <johannes@...solutions.net>, "stable@...r.kernel.org"
	<stable@...r.kernel.org>, "Nguyen, Anthony L" <anthony.l.nguyen@...el.com>,
	"Kitszel, Przemyslaw" <przemyslaw.kitszel@...el.com>, Andrew Lunn
	<andrew+netdev@...n.ch>, "David S. Miller" <davem@...emloft.net>, "Eric
 Dumazet" <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni
	<pabeni@...hat.com>, Stanislav Yakovlev <stas.yakovlev@...il.com>, "Alice
 Michael" <alice.michael@...el.com>
Subject: RE: [PATCH net-next] net: intel: fix PCI device ID conflict between
 i40e and ipw2200



> -----Original Message-----
> From: Ethan Nelson-Moore <enelsonmoore@...il.com>
> Sent: Thursday, February 5, 2026 8:55 AM
> To: netdev@...r.kernel.org; linux-wireless@...r.kernel.org
> Cc: Johannes Berg <johannes@...solutions.net>; Ethan Nelson-Moore
> <enelsonmoore@...il.com>; stable@...r.kernel.org; Nguyen, Anthony L
> <anthony.l.nguyen@...el.com>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@...el.com>; Andrew Lunn <andrew+netdev@...n.ch>;
> David S. Miller <davem@...emloft.net>; Eric Dumazet
> <edumazet@...gle.com>; Jakub Kicinski <kuba@...nel.org>; Paolo Abeni
> <pabeni@...hat.com>; Stanislav Yakovlev <stas.yakovlev@...il.com>;
> Alice Michael <alice.michael@...el.com>; Loktionov, Aleksandr
> <aleksandr.loktionov@...el.com>
> Subject: [PATCH net-next] net: intel: fix PCI device ID conflict
> between i40e and ipw2200
> 
> The ID 8086:104f is matched by both i40e and ipw2200. The same device
> ID should not be in more than one driver, because in that case, which
> driver is used is unpredictable. Fix this by taking advantage of the
> fact that i40e devices use PCI_CLASS_NETWORK_ETHERNET and ipw2200
> devices use PCI_CLASS_NETWORK_OTHER to differentiate the devices.
> 
Commit message could be more detailed.
- Why the PCI ID is being reused (if known) Is this actually a reuse after EOL, or is there a misunderstanding? The commit message hand-waves this critical detail.
- Whether this is documented in hardware datasheets
- If there are bug reports of the conflict in the wild


> Fixes: 2e45d3f4677a ("i40e: Add support for X710 B/P & SFP+ cards")
If it's quite critical fix why not to send it to [PATCH net] ? 


> Cc: stable@...r.kernel.org
> Signed-off-by: Ethan Nelson-Moore <enelsonmoore@...il.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c  | 8 +++++++-
> drivers/net/wireless/intel/ipw2x00/ipw2200.c | 8 +++++++-
>  2 files changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c
> b/drivers/net/ethernet/intel/i40e/i40e_main.c
> index 0b1cc0481027..2c8f449ad659 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -75,7 +75,13 @@ static const struct pci_device_id i40e_pci_tbl[] =
> {
>  	{PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T4), 0},
>  	{PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_BASE_T_BC), 0},
>  	{PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_SFP), 0},
> -	{PCI_VDEVICE(INTEL, I40E_DEV_ID_10G_B), 0},
> +	/*
> +	 * This ID conflicts with ipw2200, but the devices can be
> differentiated
> +	 * because i40e devices use PCI_CLASS_NETWORK_ETHERNET and
> ipw2200
> +	 * devices use PCI_CLASS_NETWORK_OTHER.
> +	 */
> +	{PCI_DEVICE(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_10G_B),
> +		PCI_CLASS_NETWORK_ETHERNET << 8, 0xffff00, 0},
>  	{PCI_VDEVICE(INTEL, I40E_DEV_ID_KX_X722), 0},
>  	{PCI_VDEVICE(INTEL, I40E_DEV_ID_QSFP_X722), 0},
>  	{PCI_VDEVICE(INTEL, I40E_DEV_ID_SFP_X722), 0}, diff --git
> a/drivers/net/wireless/intel/ipw2x00/ipw2200.c
> b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
> index 09035a77e775..b0e769da9415 100644
> --- a/drivers/net/wireless/intel/ipw2x00/ipw2200.c
> +++ b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
> @@ -11387,7 +11387,13 @@ static const struct pci_device_id card_ids[]
> = {
>  	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2754, 0, 0, 0},
>  	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2761, 0, 0, 0},
>  	{PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, 0x2762, 0, 0, 0},
> -	{PCI_VDEVICE(INTEL, 0x104f), 0},
> +	/*
> +	 * This ID conflicts with i40e, but the devices can be
> differentiated
> +	 * because i40e devices use PCI_CLASS_NETWORK_ETHERNET and
> ipw2200
> +	 * devices use PCI_CLASS_NETWORK_OTHER.
> +	 */
> +	{PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x104f),
> +		PCI_CLASS_NETWORK_OTHER << 8, 0xffff00, 0},
>  	{PCI_VDEVICE(INTEL, 0x4220), 0},	/* BG */
>  	{PCI_VDEVICE(INTEL, 0x4221), 0},	/* BG */
>  	{PCI_VDEVICE(INTEL, 0x4223), 0},	/* ABG */
> --
> 2.43.0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ