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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z3ZzJ3aUN5zrtqcx@shell.armlinux.org.uk>
Date: Thu, 2 Jan 2025 11:06:15 +0000
From: "Russell King (Oracle)" <linux@...linux.org.uk>
To: Francesco Valla <francesco@...la.it>
Cc: Andrew Lunn <andrew+netdev@...n.ch>,
	Heiner Kallweit <hkallweit1@...il.com>, netdev@...r.kernel.org
Subject: Re: [PATCH] net: phy: don't issue a module request if a driver is
 available

On Thu, Jan 02, 2025 at 12:51:22AM +0100, Francesco Valla wrote:
> Whenever a new PHY device is created, request_module() is called
> unconditionally, without checking if a driver for the new PHY is already
> available (either built-in or from a previous probe). This conflicts
> with async probing of the underlying MDIO bus and always throws a
> warning (because if a driver is loaded it _might_ cause a deadlock, if
> in turn it calls async_synchronize_full()).

Why aren't any of the phylib maintainers seeing this warning? Where does
the warning come from?

> +static bool phy_driver_exists(u32 phy_id)
> +{
> +	bool found = false;
> +	struct phy_drv_node *node;
> +
> +	down_read(&phy_drv_list_sem);
> +	list_for_each_entry(node, &phy_drv_list, list) {
> +		if (phy_id_compare(phy_id, node->drv->phy_id, node->drv->phy_id_mask)) {
> +			found = true;
> +			break;
> +		}
> +	}
> +	up_read(&phy_drv_list_sem);
> +
> +	return found;
> +}
> +

Why do we need this, along with the associated additional memory
allocations? What's wrong with bus_for_each_drv() which the core
code provides?

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ