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]
Message-Id: <200609101334.34867.ak@suse.de>
Date:	Sun, 10 Sep 2006 13:34:34 +0200
From:	Andi Kleen <ak@...e.de>
To:	Ingo Molnar <mingo@...e.hu>
Cc:	Laurent Riffard <laurent.riffard@...e.fr>,
	Arjan van de Ven <arjan@...radead.org>,
	Andrew Morton <akpm@...l.org>,
	Kernel development list <linux-kernel@...r.kernel.org>,
	Jeremy Fitzhardinge <jeremy@...source.com>
Subject: Re: 2.6.18-rc6-mm1: GPF loop on early boot

On Sunday 10 September 2006 13:57, Ingo Molnar wrote:
> * Andi Kleen <ak@...e.de> wrote:
> > > This kernel won't boot here: it starts a GPFs loop on
> > > early boot. I attached a screenshot of the first GPF
> > > (pause_on_oops=120 helped).
> >
> > It's lockdep's fault. This patch should fix it:>
> Well, it's also x86_64's fault: why does it call into a generic C 
> function (x86_64_start_kernel()) without having a full CPU state up and
> running? i686 doesnt do it, never did.

Actually i686 does now (since Jeremy's patches). The patch was for i386.
x86_64 doesn't need it.

But enough blame game. The "fault" in my original mail wasn't completely
serious anyways ...

>
> We had frequent breakages due to this property of the x86_64 arch code
> (many more than this single incident with lockdep), tracing and all
> sorts of other instrumentation (including earlier versions of lockdep)
> was hit by it again and again.

Well, just getting the new unwinder to work in lockdep was a nightmare
too (most of the problems I had with that were on i386, not x86-64) 
Just look at the number of patches that were needed for it.

>
> Basically, non-atomic setup of basic architecture state _is_ going to be
> a nightmare, lockdep or not, especially if it uses common infrastructure
> like 'current', spin_lock() or even something as simple as C functions.
> (for example the stack-footprint tracer was once hit by this weakness of
> the x86_64 code)

I disagree with that.  The nightmare is putting stuff that needs so much
infrastructure into the most basic operations.

> > Hackish patch to fix lockdep with PDA current
>
> hm, this is ugly beyond words. 

Agreed it is :). But it was the quickest way to fix it.

> Do you have a config i could try which 
> exhibits this problem? I'm sure there is a better solution.

You need the latest x86_64 patch (or latest mm) and enable lockdep
on i386. Possibly with some more interdependencies, but I hope not.

I guess a cleaner way would to set the global variable that turns
the tracing off during boot and then enable it when it starts making
sense. Not 100% sure where that point is.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ