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]
Message-Id: <200609060943.14663.ak@suse.de>
Date:	Wed, 6 Sep 2006 09:43:14 +0200
From:	Andi Kleen <ak@...e.de>
To:	Keith Owens <kaos@....com.au>
Cc:	"Jan Beulich" <jbeulich@...ell.com>,
	"Badari Pulavarty" <pbadari@...il.com>,
	"J. Bruce Fields" <bfields@...ldses.org>,
	petkov@...h.uni-muenster.de, akpm@...l.org,
	"lkml" <linux-kernel@...r.kernel.org>
Subject: Re: Was: boot failure, "DWARF2 unwinder stuck at 0xc0100199"


> Lots of luck.  I logged a bug several years ago against gcc for ia64
> with noreturn calls.  When gcc sees a call to a function marked
> noreturn (like do_exit or panic), gcc has been known to discard all
> code past that point.  The unwind code has to assume that the return
> address is pointing into the previous function.  Where does the return
> address point after a noreturn call compiled with the gcc bug?  - at
> the start of the next function.  Goodbye unwind.
> 
> I asked that gcc always insert at least one instruction after a call to
> a noreturn function.  That would keep the return address inside the
> right function and the unwind code would work.  Ideally that
> instruction would cause an error if it was ever executed (break 0 on
> ia64, ud2 on i386/x86_64) but even a no-op would be good enough.  Most
> of the ia64 list thought it was a good idea, the gcc team disagreed.
> AFAIK the bug is still outstanding.


In the discussion Jan came up with a heuristic that will probably work.
It involved deciding in the unwinder by heuristic if it should subtract 
one from the program counter (like the gcc unwinder apparently does) or not.

He hasn't sent a patch implementing it yet though :)

-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