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: <741fc0ef-c94d-488e-86f8-436ab4582971@lunn.ch>
Date:   Mon, 10 Apr 2023 14:11:39 +0200
From:   Andrew Lunn <andrew@...n.ch>
To:     Simon Horman <simon.horman@...igine.com>
Cc:     David Miller <davem@...emloft.net>,
        Jakub Kicinski <kuba@...nel.org>,
        netdev <netdev@...r.kernel.org>,
        Florian Fainelli <f.fainelli@...il.com>,
        Heiner Kallweit <hkallweit1@...il.com>,
        Russell King <rmk+kernel@...linux.org.uk>
Subject: Re: [PATCH] net: ethernet: Add missing depends on MDIO_DEVRES

On Mon, Apr 10, 2023 at 11:07:58AM +0200, Simon Horman wrote:
> On Sun, Apr 09, 2023 at 05:02:04PM +0200, Andrew Lunn wrote:
> > A number of MDIO drivers make use of devm_mdiobus_alloc_size(). This
> > is only available when CONFIG_MDIO_DEVRES is enabled. Add missing
> > depends or selects, depending on if there are circular dependencies or
> > not. This avoids linker errors, especially for randconfig builds.
> > 
> > Signed-off-by: Andrew Lunn <andrew@...n.ch>
> > ---
> >  drivers/net/ethernet/freescale/Kconfig       | 1 +
> >  drivers/net/ethernet/freescale/enetc/Kconfig | 1 +
> >  drivers/net/ethernet/marvell/Kconfig         | 1 +
> >  drivers/net/ethernet/qualcomm/Kconfig        | 1 +
> >  drivers/net/mdio/Kconfig                     | 3 +++
> >  5 files changed, 7 insertions(+)
> > 
> > diff --git a/drivers/net/ethernet/freescale/Kconfig b/drivers/net/ethernet/freescale/Kconfig
> > index f1e80d6996ef..1c78f66a89da 100644
> > --- a/drivers/net/ethernet/freescale/Kconfig
> > +++ b/drivers/net/ethernet/freescale/Kconfig
> > @@ -71,6 +71,7 @@ config FSL_XGMAC_MDIO
> >  	tristate "Freescale XGMAC MDIO"
> >  	select PHYLIB
> >  	depends on OF
> > +	select MDIO_DEVRES
> >  	select OF_MDIO
> >  	help
> >  	  This driver supports the MDIO bus on the Fman 10G Ethernet MACs, and
> 
> Perhaps this is a good idea, but I'd like to mention that I don't think
> it is strictly necessary as:
> 
> 1. FSL_XGMAC_MDIO selects PHYLIB.
> 2. And PHYLIB selects MDIO_DEVRES.
> 
> Likewise for FSL_ENETC, MV643XX_ETH, QCOM_EMAC.
> 
> Is there some combination of N/y/m that defeats my logic here?
> I feel like I am missing something obvious.

I keep getting 0-day randconfig build warning about kernel
configuration which don't link. It seems to get worse when we add in
support of MAC and PHY LEDs. My guess is, the additional dependencies
for LEDs upsets the conflict resolution engine, and it comes out with
a different solution. `select` is a soft dependency. It is more a
hint, and can be ignored. And when a randconfig kernel fails to build,
MDIO_DEVRES is disabled.

Where possible, i've added a `depends on`, which is a much stronger
dependency. But that can lead to circular dependencies, which kconfig
cannot handle. In such cases, i've added selects. Maybe having more
selects for a config option will influence it to find a solution which
has MDIO_DEVRES enabled?

I've had this patch in a github tree for a week or more, and 0-day has
not yet returned any randconfig build errors. But i've not combined it
with the LED code.

     Andrew

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ