linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mathias Krause <minipli@ld-linux.so>
To: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	live-patching@vger.kernel.org, Michal Marek <mmarek@suse.cz>,
	Peter Zijlstra <peterz@infradead.org>,
	Andy Lutomirski <luto@kernel.org>, Borislav Petkov <bp@alien8.de>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andi Kleen <andi@firstfloor.org>, Pedro Alves <palves@redhat.com>,
	Namhyung Kim <namhyung@gmail.com>,
	Bernd Petrovitsch <bernd@petrovitsch.priv.at>,
	Chris J Arges <chris.j.arges@canonical.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH v13 13/23] x86/asm/crypto: Create stack frames in aesni-intel_asm.S
Date: Thu, 1 Oct 2015 19:36:54 +0200	[thread overview]
Message-ID: <20151001173654.GA15578@ld-linux.so> (raw)
In-Reply-To: <20151001132950.GA4269@treble.redhat.com>

On Do, Okt 01, 2015 at 08:29:50 -0500, Josh Poimboeuf wrote:
> On Thu, Oct 01, 2015 at 08:10:26AM +0200, minipli@ld-linux.so wrote:
> > On Tue, Sep 22, 2015 at 10:47:04AM -0500, Josh Poimboeuf wrote:
> > >  ENTRY(aesni_set_key)
> > > +	FRAME_BEGIN
> > >  #ifndef __x86_64__
> > >  	pushl KEYP
> > >  	movl 8(%esp), KEYP		# ctx
> > 
> > This will break 32 bit builds using the aesni-intel.ko module. You need
> > to adjust the esp-based offsets for the non-x86_64 case, as FRAME_BEGIN
> > may do another push.
> > 
> > How about adding a FRAME_OFFSET() macro to <asm/frame.h> to wrap the
> > offsets?:
> > 
> > #ifdef CONFIG_FRAME_POINTER
> > # define FRAME_OFFSET(x)	((x) + (BITS_PER_LONG / 8))
> > #else
> > # define FRAME_OFFSET(x)	(x)
> > #endif
> > 
> > And using them like this:
> > 
> > 	movl FRAME_OFFSET(8)(%esp), KEYP		# ctx
> 
> Ah, right.  The 32-bit ABI passes arguments on the stack instead of via
> registers.
> 
> For now, I'm inclined to just make FRAME_BEGIN and FRAME_END do nothing
> on 32-bit.  We're only doing stack validation on x86_64 and I don't know
> if anybody cares about frame pointers on 32-bit at this point.

Well, we had issues in the past, especially in that very module, but
only on 32 bit systems. So it would be nice to get frame pointers right
for 32 bit, too.

Regards,
Mathias

  reply	other threads:[~2015-10-01 17:37 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-22 15:46 [PATCH v13 00/23] Compile-time stack metadata validation Josh Poimboeuf
2015-09-22 15:46 ` [PATCH v13 01/23] tools: Fix formatting of the "make -C tools" help message Josh Poimboeuf
2015-09-22 15:46 ` [PATCH v13 02/23] x86/asm: Frame pointer macro cleanup Josh Poimboeuf
2015-09-22 15:46 ` [PATCH v13 03/23] x86/asm: Add C versions of frame pointer macros Josh Poimboeuf
2015-09-22 15:46 ` [PATCH v13 04/23] x86/stacktool: Compile-time stack metadata validation Josh Poimboeuf
2015-09-23 11:38   ` Jiri Slaby
2015-09-23 11:40     ` Jiri Slaby
2015-09-23 12:42       ` [PATCH v13.1 " Josh Poimboeuf
2015-10-01 14:50         ` Chris J Arges
2015-10-01 15:25           ` Josh Poimboeuf
2015-10-01 15:38             ` Chris J Arges
2015-09-22 15:46 ` [PATCH v13 05/23] x86/stacktool: Add file and directory ignores Josh Poimboeuf
2015-09-22 15:46 ` [PATCH v13 06/23] x86/stacktool: Add ignore macros Josh Poimboeuf
2015-09-22 15:46 ` [PATCH v13 07/23] x86/xen: Add stack frame dependency to hypercall inline asm calls Josh Poimboeuf
2015-09-22 15:46 ` [PATCH v13 08/23] x86/paravirt: Add stack frame dependency to PVOP " Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 09/23] x86/paravirt: Create a stack frame in PV_CALLEE_SAVE_REGS_THUNK Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 10/23] x86/amd: Set ELF function type for vide() Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 11/23] x86/reboot: Add ljmp instructions to stacktool whitelist Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 12/23] x86/xen: Add xen_cpuid() and xen_setup_gdt() to stacktool whitelists Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 13/23] x86/asm/crypto: Create stack frames in aesni-intel_asm.S Josh Poimboeuf
2015-10-01  6:10   ` minipli
2015-10-01 13:29     ` Josh Poimboeuf
2015-10-01 17:36       ` Mathias Krause [this message]
2015-10-01 17:51         ` Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 14/23] x86/asm/crypto: Move .Lbswap_mask data to .rodata section Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 15/23] x86/asm/crypto: Move jump_table " Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 16/23] x86/asm/crypto: Create stack frames in clmul_ghash_mul/update() Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 17/23] x86/asm/entry: Create stack frames in thunk functions Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 18/23] x86/asm/acpi: Create a stack frame in do_suspend_lowlevel() Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 19/23] x86/asm: Create stack frames in rwsem functions Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 20/23] x86/asm/efi: Create a stack frame in efi_call() Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 21/23] x86/asm/power: Create stack frames in hibernate_asm_64.S Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 22/23] x86/uaccess: Add stack frame output operand in get_user inline asm Josh Poimboeuf
2015-09-22 15:47 ` [PATCH v13 23/23] x86/stacktool: Ignore head_$(BITS) files Josh Poimboeuf
2015-09-28 13:45 ` [PATCH v13 00/23] Compile-time stack metadata validation Josh Poimboeuf
2015-10-12  7:41   ` Ingo Molnar
2015-10-12 14:23     ` Josh Poimboeuf
2015-11-11 18:14       ` Josh Poimboeuf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151001173654.GA15578@ld-linux.so \
    --to=minipli@ld-linux.so \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=bernd@petrovitsch.priv.at \
    --cc=bp@alien8.de \
    --cc=chris.j.arges@canonical.com \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=hpa@zytor.com \
    --cc=jpoimboe@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=live-patching@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=mmarek@suse.cz \
    --cc=namhyung@gmail.com \
    --cc=palves@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).