Thread (5 messages) 5 messages, 3 authors, 2005-08-27

Re: Leaked net-device reference in eql.c

From: Ben Greear <hidden>
Date: 2005-08-27 06:24:09

Patrick McHardy wrote:
Ben Greear wrote:
quoted
I think the eql_s_slave_cfg method in eql.c leaks
the reference to slave_dev.  Am I missing something?

No, it should also put the device, as in eql_g_slave_cfg.
Ok, I'm making a patch...will add this to it.

How about this one.  It seems like it does a dev_put when it shouldn't
(if some of the if's fail, the dev_get never happened):

net/sched/sch_generic.c

static void dev_watchdog(unsigned long arg)
{
	struct net_device *dev = (struct net_device *)arg;

	spin_lock(&dev->xmit_lock);
	if (dev->qdisc != &noop_qdisc) {
		if (netif_device_present(dev) &&
		    netif_running(dev) &&
		    netif_carrier_ok(dev)) {
			if (netif_queue_stopped(dev) &&
			    (jiffies - dev->trans_start) > dev->watchdog_timeo) {
				printk(KERN_INFO "NETDEV WATCHDOG: %s: transmit timed out\n", dev->name);
				dev->tx_timeout(dev);
			}
			if (!mod_timer(&dev->watchdog_timer, jiffies + dev->watchdog_timeo))
				dev_hold(dev);
		}
	}
	spin_unlock(&dev->xmit_lock);

	dev_put(dev);
}



-- 
Ben Greear [off-list ref]
Candela Technologies Inc  http://www.candelatech.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help