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, 25 Jan 2011 02:28:34 +0300
From:	Alexander Gordeev <lasaine@....cs.msu.su>
To:	Ingo Molnar <mingo@...e.hu>
Cc:	Linus Torvalds <torvalds@...ux-foundation.org>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Thomas Gleixner <tglx@...utronix.de>
Subject: Re: PPS parport boot lockup: INFO: HARDIRQ-READ-safe ->
 HARDIRQ-READ-unsafe lock order detected

В Fri, 21 Jan 2011 20:43:17 +0100
Ingo Molnar <mingo@...e.hu> пишет:

> 
> * Linus Torvalds <torvalds@...ux-foundation.org> wrote:
> 
> > HOWEVER, even then I think you should see the lockdep message as a
> > problem. The automated toolchain is great because it shows problems
> > that it thinks might happen - not when they happen, but based on a
> > simpler theoretical model. Ignoring the error because there is some
> > rule in place that is hard to explain to the automated toolchain is
> > the wrong thing to do, because it makes the lockdep automation less
> > reliable.
> 
> Yeah. Also, inevitably the false positives have a higher likelyhood
> of making it into a released kernel, often because the bugs where
> there was a real lockup as well got noticed via other means.
> 
> It's similar with compiler warnings as well: the questionable ones where
> GCC is wrong or at least confused accumulate.
> 
> Also note that here there's a real lockup here as well, shortly after the lockdep 
> message - the boot never continues, the box keep spewing the PPS debug messages:
> 
> [   76.240020] pps pps0: PPS event at 4294911356
> [   76.244380] pps pps0: PPS event at 1295471377.240018362
> [   76.249608] pps pps0: capture assert seq #2
> [   77.252019] pps pps0: PPS event at 4294911609
> [   77.256379] pps pps0: PPS event at 1295471378.252017372
> [   77.261604] pps pps0: capture assert seq #3
> [   78.264021] pps pps0: PPS event at 4294911862
> [   78.268387] pps pps0: PPS event at 1295471379.264018619
> [   78.273621] pps pps0: capture assert seq #4
> [   79.276018] pps pps0: PPS event at 4294912115
> [   79.280384] pps pps0: PPS event at 1295471380.276016791
> [   79.285619] pps pps0: capture assert seq #5
> 
> But nothing happens, the boot never continues.

I think I was able to reproduce the lockup by compiling parport,
parport_pc, pps_parport and pps_gen_parport into the kernel. Both
pps_parport and pps_gen_parport use parport_claim_or_block() to claim
the parallel port. They compete for the parallel port at bootup. One
of them gets it. The other one then lockups the system.

After reading the docs I decided to just add PARPORT_FLAG_EXCL and it
worked. The patch follows. Does it help with the lockup you experience?

-- 
  Alexander

Download attachment "signature.asc" of type "application/pgp-signature" (491 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ