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:	Sun, 12 Dec 2010 21:53:54 +0100
From:	Eric Dumazet <eric.dumazet@...il.com>
To:	Shmulik Hen <shmulik@...go.co.il>
Cc:	netdev@...r.kernel.org
Subject: Re: System blocks (hangs) on ifconfig up

Le dimanche 12 décembre 2010 à 21:29 +0100, Eric Dumazet a écrit :
> Le dimanche 12 décembre 2010 à 17:08 +0200, Shmulik Hen a écrit :
> > Hello,
> > 
> > My system is Ubuntu 10.04, running kernel 2.6.32-26-generic.
> > 
> > Whenever I try to bring up a specific ethernet interface for the second 
> > time, my
> > system becomes unresponsive for 60 seconds - i.e. no mouse, no keyboard, no
> > screen refresh. etc.
> > 
> > Looking at the driver's code, I could see that it's dev->open() method 
> > calls
> > wait_event_interruptible_timeout() with a timeout of 60 seconds - exactly
> > the delay I'm seeing.
> > 
> 
> What is this driver ?
> 
> > I have narrowed the code to a bare minimum (see below - loosely based on
> > dummy.c), which only calls mdelay(10000) in it's dev->open() method, and
> > still, my system blocks for exactly 10 seconds when I run the following
> > sequence:
> > 
> >  > sudo ifconfig shmulik0 up
> >  > sudo ifconfig shmulik0 down
> >  > sudo ifconfig shmulik0 up
> > 
> > At this point - the system is stuck for 10 seconds.
> > 
> 
> Certainly not "stuck for 10 seconds"
> 
> mdelay(10000) suspends this task for 10 seconds, but other tasks can
> certainly run.
> 
> However, your shell waits that "ifconfig ... up" finishes.
> 
> 

Oops, I forgot mdelay() was a spin primitive, but was misleading by your
wait_event_interruptible_timeout() previous reference.

Doing mdelay(10000) is certainly very lazy, I hope no driver does
that ...



--
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