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, 21 Feb 2012 23:08:10 +0100
From:	Mark Wielaard <mjw@...hat.com>
To:	Jan Beulich <JBeulich@...e.com>
Cc:	"Frederic Weisbecker (commit_signer:4/25=16%)" <fweisbec@...il.com>,
	"maintainer:X86 ARCHITECTURE..." <x86@...nel.org>,
	"Thomas Gleixner(maintainer:X86 ARCHITECTURE...)" 
	<tglx@...utronix.de>,
	"Andi Kleen(commit_signer:5/25=20%)" <ak@...ux.intel.com>,
	"commit_signer:11/25=44%)Ingo Molnar (maintainer:X86 ARCHITECTURE..." 
	<mingo@...hat.com>, linux-kernel@...r.kernel.org,
	"commit_signer:4/25=16%) H. Peter Anvin(maintainer:X86 ARCHITECTURE..." 
	<hpa@...or.com>
Subject: Re: [PATCH] x86-64: Fix CFI data for common_interrupt

On Tue, Feb 21, 2012 at 03:26:30PM +0000, Jan Beulich wrote:
> >>> On 21.02.12 at 15:43, Mark Wielaard <mjw@...hat.com> wrote:
> > For DW_CFA_def_register DWARF4 explicitly says so: "This operation is
> > valid only if the current CFA rule is defined to use a register and
> > offset." So one needs to use CFI_DEF_CFA with both a register and an
> > offset here after the def_cfa_expression.
> 
> Hmm, that's in contrast to the gas implementation (but I'd certainly
> give the specification preference if it explicitly states so, so gas
> should at least emit a warning here rather than considering this
> valid).

I am afraid gas cannot help us here. Since like you pointed out in your
patch:

    This requires the use of .cfi_escape (allowing arbitrary byte
    streams to be emitted into .eh_frame), as there is no
    .cfi_def_cfa_expression (which also cannot reasonably be
    expected, as it would require a full expression parser).

So we are on our own here.

> But provided the specification mandates this, I'm okay with the change
> in principle. Just that specifying an offset of 0 doesn't look right then.

Yeah, I dunno what I was thinking. The offset should be set to the offset
that was there before when rsi was pushed. The attached patch does that
by using the same value as was used at the start of common_interrupt.
Does that look OK?

Thanks,

Mark

View attachment "0001-x86-64-Fix-CFI-data-for-common_interrupt.patch" of type "text/plain" (1171 bytes)

Powered by blists - more mailing lists