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]
Date:	Tue, 7 Jun 2016 15:05:47 +0200
From:	Andrew Lunn <andrew@...n.ch>
To:	Florian Fainelli <f.fainelli@...il.com>
Cc:	netdev@...r.kernel.org, davem@...emlof.net,
	vivien.didelot@...oirfairelinux.com
Subject: Re: [PATCH net-next v2 2/5] net: dsa: Initialize
 ds->enabled_port_mask and ds->phys_mii_mask

On Tue, Jun 07, 2016 at 02:22:12AM +0200, Andrew Lunn wrote:
> > @@ -304,6 +312,18 @@ static int dsa_ds_apply(struct dsa_switch_tree *dst, struct dsa_switch *ds)
> >  	if (err < 0)
> >  		return err;
> >  
> > +	if (!ds->slave_mii_bus && ds->drv->phy_read) {
> > +		ds->slave_mii_bus = devm_mdiobus_alloc(ds->dev);
> > +		if (!ds->slave_mii_bus)
> > +			return err;
> > +
> > +		dsa_slave_mii_bus_init(ds);
> > +
> > +		err = mdiobus_register(ds->slave_mii_bus);
> > +		if (err < 0)
> > +			return err;
> > +	}
> > +
> >  	for (index = 0; index < DSA_MAX_PORTS; index++) {
> >  		port = ds->ports[index].dn;
> >  		if (!port)
> 
> Hi Florian

...
 
> It is also missing the unregister in dsa_ds_unapply().

Looking at this again...

You use devm_mdiobus_alloc(), so the memory for the bus will get freed
eventually. However, it won't get unregistered before it is freed.  So
an explicit unregister is needed. Doing that in dsa_ds_unapply() makes
sense, so we have a clear life cycle for this mdio bus.

       Andrew

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ