linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Josh Poimboeuf <jpoimboe@redhat.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: x86@kernel.org, Herbert Xu <herbert@gondor.apana.org.au>,
	linux-kernel@vger.kernel.org, Miroslav Benes <mbenes@suse.cz>,
	Eric Biggers <ebiggers@google.com>,
	Ard Biesheuvel <ardb@kernel.org>,
	Sami Tolvanen <samitolvanen@google.com>,
	linux-crypto@vger.kernel.org,
	"David S . Miller" <davem@davemloft.net>
Subject: Re: [PATCH 00/13] x86/crypto/asm: objtool support
Date: Thu, 25 Feb 2021 07:29:40 -0600	[thread overview]
Message-ID: <20210225132940.6pfztfephoptoh7y@treble> (raw)
In-Reply-To: <YDdyEKqDEKmdg9yW@hirez.programming.kicks-ass.net>

On Thu, Feb 25, 2021 at 10:46:56AM +0100, Peter Zijlstra wrote:
> On Wed, Feb 24, 2021 at 10:29:13AM -0600, Josh Poimboeuf wrote:
> > Standardize the crypto asm to make it resemble compiler-generated code,
> > so that objtool can understand it.
> > 
> > This magically enables ORC unwinding from crypto code.  It also fixes
> > the last known remaining objtool warnings on vmlinux.o, for LTO and
> > more.
> > 
> > Josh Poimboeuf (13):
> >   objtool: Support asm jump tables
> >   x86/crypto/aesni-intel_avx: Remove unused macros
> >   x86/crypto/aesni-intel_avx: Fix register usage comments
> >   x86/crypto/aesni-intel_avx: Standardize stack alignment prologue
> >   x86/crypto/camellia-aesni-avx2: Unconditionally allocate stack buffer
> >   x86/crypto/crc32c-pcl-intel: Standardize jump table
> >   x86/crypto/sha_ni: Standardize stack alignment prologue
> >   x86/crypto/sha1_avx2: Standardize stack alignment prologue
> >   x86/crypto/sha256-avx2: Standardize stack alignment prologue
> >   x86/crypto/sha512-avx: Standardize stack alignment prologue
> >   x86/crypto/sha512-avx2: Standardize stack alignment prologue
> >   x86/crypto/sha512-ssse3: Standardize stack alignment prologue
> >   x86/crypto: Enable objtool in crypto code
> > 
> >  arch/x86/crypto/Makefile                     |  2 -
> >  arch/x86/crypto/aesni-intel_avx-x86_64.S     | 28 +++++--------
> >  arch/x86/crypto/camellia-aesni-avx2-asm_64.S |  5 +--
> >  arch/x86/crypto/crc32c-pcl-intel-asm_64.S    |  7 +---
> >  arch/x86/crypto/sha1_avx2_x86_64_asm.S       |  8 ++--
> >  arch/x86/crypto/sha1_ni_asm.S                |  8 ++--
> >  arch/x86/crypto/sha256-avx2-asm.S            | 13 +++---
> >  arch/x86/crypto/sha512-avx-asm.S             | 41 +++++++++----------
> >  arch/x86/crypto/sha512-avx2-asm.S            | 42 ++++++++++----------
> >  arch/x86/crypto/sha512-ssse3-asm.S           | 41 +++++++++----------
> >  tools/objtool/check.c                        | 14 ++++++-
> >  11 files changed, 98 insertions(+), 111 deletions(-)
> 
> One nit, there's lots and lots of:
> 
> 	mov %rbp, %rsp
> 	pop %rbp
> 
> and we have this 'leave' instruction that does exactly that, should we
> be using it?

I'd considered that, but LEAVE is more cryptic (no pun intended).  This
code often has "surprises", so I prefer the readability of the more
explicit instructions.

> Otherwise:
> 
> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>

Thanks.

-- 
Josh


  reply	other threads:[~2021-02-25 13:32 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-24 16:29 [PATCH 00/13] x86/crypto/asm: objtool support Josh Poimboeuf
2021-02-24 16:29 ` [PATCH 01/13] objtool: Support asm jump tables Josh Poimboeuf
2021-04-20 10:47   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2021-02-24 16:29 ` [PATCH 02/13] x86/crypto/aesni-intel_avx: Remove unused macros Josh Poimboeuf
2021-04-20 10:47   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2021-02-24 16:29 ` [PATCH 03/13] x86/crypto/aesni-intel_avx: Fix register usage comments Josh Poimboeuf
2021-04-20 10:47   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2021-02-24 16:29 ` [PATCH 04/13] x86/crypto/aesni-intel_avx: Standardize stack alignment prologue Josh Poimboeuf
2021-02-25  9:38   ` Peter Zijlstra
2021-04-20 10:47   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2021-02-24 16:29 ` [PATCH 05/13] x86/crypto/camellia-aesni-avx2: Unconditionally allocate stack buffer Josh Poimboeuf
2021-04-20 10:47   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2021-02-24 16:29 ` [PATCH 06/13] x86/crypto/crc32c-pcl-intel: Standardize jump table Josh Poimboeuf
2021-04-20 10:47   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2021-02-24 16:29 ` [PATCH 07/13] x86/crypto/sha_ni: Standardize stack alignment prologue Josh Poimboeuf
2021-04-20 10:47   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2021-02-24 16:29 ` [PATCH 08/13] x86/crypto/sha1_avx2: " Josh Poimboeuf
2021-04-20 10:47   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2021-02-24 16:29 ` [PATCH 09/13] x86/crypto/sha256-avx2: " Josh Poimboeuf
2021-04-20 10:47   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2021-02-24 16:29 ` [PATCH 10/13] x86/crypto/sha512-avx: " Josh Poimboeuf
2021-04-20 10:47   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2021-02-24 16:29 ` [PATCH 11/13] x86/crypto/sha512-avx2: " Josh Poimboeuf
2021-04-20 10:47   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2021-02-24 16:29 ` [PATCH 12/13] x86/crypto/sha512-ssse3: " Josh Poimboeuf
2021-04-20 10:47   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2021-02-24 16:29 ` [PATCH 13/13] x86/crypto: Enable objtool in crypto code Josh Poimboeuf
2021-04-20 10:47   ` [tip: objtool/core] " tip-bot2 for Josh Poimboeuf
2021-02-24 17:10 ` [PATCH 00/13] x86/crypto/asm: objtool support Ard Biesheuvel
2021-02-24 21:48 ` Sami Tolvanen
2021-02-25  9:46 ` Peter Zijlstra
2021-02-25 13:29   ` Josh Poimboeuf [this message]
2021-03-03  8:47 ` Herbert Xu

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=20210225132940.6pfztfephoptoh7y@treble \
    --to=jpoimboe@redhat.com \
    --cc=ardb@kernel.org \
    --cc=davem@davemloft.net \
    --cc=ebiggers@google.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbenes@suse.cz \
    --cc=peterz@infradead.org \
    --cc=samitolvanen@google.com \
    --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).