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] [day] [month] [year] [list]
Date:	Fri, 3 Aug 2007 11:23:35 -0700
From:	Brandon Philips <brandon@...p.org>
To:	Stephen Hemminger <shemminger@...ux-foundation.org>
Cc:	Tejun Heo <htejun@...il.com>, netdev@...r.kernel.org,
	teheo@...e.de, bphilips@...e.de
Subject: Re: [patch 0/5][RFC] Update network drivers to use devres

On 14:44 Fri 03 Aug 2007, Stephen Hemminger wrote:
> On Fri, 03 Aug 2007 20:33:04 +0900 Tejun Heo <htejun@...il.com> wrote:
> > >> Devres makes low level drivers simpler, easier to get right and
> > >> maintain.  Writing new drivers becomes easier too.  So, why not?
> > >>
> > >>> Network devices seem to work fine thanks, and the resource requirements
> > >>> are different. If ain't broke, don't fix it.
> > >> Care to enlighten me on how the resource requirments are different
> > >> from ATA drivers?
> > > 
> > > I was thinking of the hot remove (no mod ref counts) and lingering
> > > /sys open issues.  ATA drivers use ref counts.
> > 
> > I guess the hot removing is done by severing netdev from the actual
> > device, right?  I don't see how that affects usage of devres on network
> > drivers.  Am I missing something?
> 
> The issue is that device may be removed at any time. So you can't rely
> on module ref counts to save you. And netdevice structure must still
> linger after module is removed, till dev ref count goes to zero.

These patches allow the net_device to linger.  The code calls
free_netdev on device removal just as before.

This is how the net_device is handled on device removal by these
patches:

+static void devm_free_netdev(struct device *gendev, void *res)
+{
+       struct net_device *dev = dev_get_drvdata(gendev);
+       free_netdev(dev);
+}

> > On a separate note, can you explain lingering /sys open issue to me a
> > bit?  With recent sysfs changes, sysfs nodes are disconnected
> > immediately on deletion.  Would that make any difference to netdevs?
> 
> Examples are in Documentation/networking/netdevices.txt

Isn't this the same problem as above?  The net_device structure must
stay around if there are still references to it and it does.  

Or am I missing something?

Thanks,

	Brandon
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ