mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* 2.6.0-test4-mm6: locking imbalance with rtnl_lock/unlock?
@ 2003-09-06 22:00 Jeremy Fitzhardinge
  2003-09-06 22:24 ` Anton Blanchard
  0 siblings, 1 reply; 3+ messages in thread
From: Jeremy Fitzhardinge @ 2003-09-06 22:00 UTC (permalink / raw)
  To: Linux Kernel List; +Cc: Bryan O'Sullivan

I've been playing with Bryan O'Sullivan's netplug daemon
(http://www.red-bean.com/~bos/).  It uses netlink to look at carrier
state changes on network interfaces.

I'm seeing a problem however: after a while, all ifconfig commands just
block uninterruptably in __down().  From strace, it seems to be in:

ioctl(4, 0x8915...

which is SIOCGIFADDR.  It seems to me the down() is actually the
rtnl_lock() called at net/ipv4/devinet.c:536 in devinet_ioctl.  This
happens even when netplugd is no longer running.  It looks like someone
isn't releasing the lock.

I'm going over all the uses of rtnl_lock() to see if I can find a
problem, but no sign yet.  I wonder if someone might have broken this
recently: I'm running 2.6.0-test4-mm6, but I think Bryan is running an
older kernel (2.6.0-test4?), and hasn't seen any problems.

	J


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: 2.6.0-test4-mm6: locking imbalance with rtnl_lock/unlock?
  2003-09-06 22:00 2.6.0-test4-mm6: locking imbalance with rtnl_lock/unlock? Jeremy Fitzhardinge
@ 2003-09-06 22:24 ` Anton Blanchard
  2003-09-07  1:47   ` Andrew Morton
  0 siblings, 1 reply; 3+ messages in thread
From: Anton Blanchard @ 2003-09-06 22:24 UTC (permalink / raw)
  To: Jeremy Fitzhardinge; +Cc: Linux Kernel List, Bryan O'Sullivan


> which is SIOCGIFADDR.  It seems to me the down() is actually the
> rtnl_lock() called at net/ipv4/devinet.c:536 in devinet_ioctl.  This
> happens even when netplugd is no longer running.  It looks like someone
> isn't releasing the lock.
> 
> I'm going over all the uses of rtnl_lock() to see if I can find a
> problem, but no sign yet.  I wonder if someone might have broken this
> recently: I'm running 2.6.0-test4-mm6, but I think Bryan is running an
> older kernel (2.6.0-test4?), and hasn't seen any problems.

Yep I saw this too when updating from test2 to BK from a few days ago.
>From memory the cpu that had the rtnl_lock was stuck in dev_close,
probably netif_poll_disable. I got side tracked and wasnt able to look
into it.

Anton

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: 2.6.0-test4-mm6: locking imbalance with rtnl_lock/unlock?
  2003-09-06 22:24 ` Anton Blanchard
@ 2003-09-07  1:47   ` Andrew Morton
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew Morton @ 2003-09-07  1:47 UTC (permalink / raw)
  To: Anton Blanchard; +Cc: jeremy, linux-kernel, bos, netdev

Anton Blanchard <anton@samba.org> wrote:
>
> 
> > which is SIOCGIFADDR.  It seems to me the down() is actually the
> > rtnl_lock() called at net/ipv4/devinet.c:536 in devinet_ioctl.  This
> > happens even when netplugd is no longer running.  It looks like someone
> > isn't releasing the lock.
> > 
> > I'm going over all the uses of rtnl_lock() to see if I can find a
> > problem, but no sign yet.  I wonder if someone might have broken this
> > recently: I'm running 2.6.0-test4-mm6, but I think Bryan is running an
> > older kernel (2.6.0-test4?), and hasn't seen any problems.
> 
> Yep I saw this too when updating from test2 to BK from a few days ago.
> >From memory the cpu that had the rtnl_lock was stuck in dev_close,
> probably netif_poll_disable. I got side tracked and wasnt able to look
> into it.

If the caller of netif_poll_disable() has a signal pending,
netif_poll_disable() becomes a busy loop, which might be causing a
lockup.  Probably not, but it needs to use TASK_UNINTERRUPTIBLE.

I doubt if that explains Jeremy's deadlock though...

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-09-07  1:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-06 22:00 2.6.0-test4-mm6: locking imbalance with rtnl_lock/unlock? Jeremy Fitzhardinge
2003-09-06 22:24 ` Anton Blanchard
2003-09-07  1:47   ` Andrew Morton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®