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: <200610011127.35393.ak@suse.de>
Date:	Sun, 1 Oct 2006 11:27:35 +0200
From:	Andi Kleen <ak@...e.de>
To:	Linus Torvalds <torvalds@...l.org>
Cc:	Eric Rannaud <eric.rannaud@...il.com>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Ingo Molnar <mingo@...e.hu>, Andrew Morton <akpm@...l.org>,
	nagar@...son.ibm.com, Chandra Seetharaman <sekharan@...ibm.com>,
	Jan Beulich <jbeulich@...ell.com>
Subject: Re: BUG-lockdep and freeze (was: Arrr! Linux 2.6.18)


> Side note: it's entirely possible that the "unwinder" code shouldn't even 

How often do I need to repeat that it wasn't the dwarf2 unwinder that crashed 
here,  but the fallback code that is essentially just the old unwinder? Somehow 
I don't seem to get through. 

> try to return the address outside the page, since the first/last frame on 
> a page is likely to be special (ie it's an exception/interrupt kind of 
> thing), and it's entirely possible that the "page-level" loop is better at 
> handling that part too.
> 
> That way you wouldn't even need to make the exception frames haev the 
> dwarf info etc, because you could choose to just depend on knowing what 
> the format of such a page was. But that's obviously just an implementation 
> choice..
> 
> Doesn't that sound like it should be both fairly straightforward and 
> reasonable?

Ok I guess it would be possible to add another level of stack validation to
the unwinder if you insist of it. 

I don't think it would help all that much because the unwinder already does 
pretty good validation based on CFI and it wouldn't have avoided that 
particular problem anyways (which was already fixed in 2.6.18 BTW, Eric's 
bisect just managed to find a bad spot before 2.6.18) 

Also I still think the code will be fairly ugly to do this, but at least it's 
already written for the old unwinder. The x86-64 code needed
at least one state variable, requiring more function arguments
all over the unwinder, but it might be possible to do it without that.

-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