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: <20250929092942.3164571-1-yicongsrfy@163.com>
Date: Mon, 29 Sep 2025 17:29:42 +0800
From: yicongsrfy@....com
To: oneukum@...e.com
Cc: andrew+netdev@...n.ch,
	davem@...emloft.net,
	edumazet@...gle.com,
	kuba@...nel.org,
	linux-usb@...r.kernel.org,
	marcan@...can.st,
	netdev@...r.kernel.org,
	pabeni@...hat.com,
	yicong@...inos.cn
Subject: Re: [PATCH 2/2] net: usb: support quirks in usbnet

On Mon, 29 Sep 2025 10:45:19 +0200, Oliver Neukum <oneukum@...e.com> wrote:

> On 28.09.25 03:46, yicongsrfy@....com wrote:
> > From: Yi Cong <yicong@...inos.cn>
> >
> > Some vendors' USB network interface controllers (NICs) may be compatible
> > with multiple drivers.
> And here is the basic problem. This issue is not an issue specific to
> usbnet. It arises everywhere we have a specific and a general
> driver. Hence it ought to be solved in generic way in usbcore.
>
> Nor can we do this with a simple list of devices, as we cannot
> assume that the more specific driver is compiled in all systems.
> An unconditional quirk is acceptable _only_ if usbnet would
> not work.
>
> Please get in contact with the core USB developers. The problem
> needs to be solved, but this is not a solution.

Thank you for your reply!

Should I add the AX88179 chip information into the `usb_quirk_list`
in `drivers/usb/core/quirks.c`? (Of course, it will also include a
 check for whether `CONFIG_USB_NET_AX88179_178A` is enabled.)

This way, `usbnet_probe` can detect the blacklisted information.

usbnet_probe (...)
{
	...
	info = (const struct driver_info *) prod->driver_info;
	if (!info) {
		dev_dbg (&udev->dev, "blacklisted by %s\n", name);
		return -ENODEV;
	}
	...
}

>From an implementation standpoint, this approach is indeed cleaner
and simpler than my current solution.
Is the method mentioned above an appropriate approach?


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ