[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20191211093844.vwguh6yjgab5hza5@gondor.apana.org.au>
Date: Wed, 11 Dec 2019 17:38:44 +0800
From: Herbert Xu <herbert@...dor.apana.org.au>
To: Kees Cook <keescook@...omium.org>
Cc: João Moreira <joao.moreira@...el.com>,
Eric Biggers <ebiggers@...nel.org>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>,
Sami Tolvanen <samitolvanen@...gle.com>,
Stephan Mueller <smueller@...onox.de>, x86@...nel.org,
linux-crypto@...r.kernel.org, linux-kernel@...r.kernel.org,
kernel-hardening@...ts.openwall.com
Subject: Re: [PATCH v7] crypto: x86: Regularize glue function prototypes
On Tue, Nov 26, 2019 at 10:08:02PM -0800, Kees Cook wrote:
> The crypto glue performed function prototype casting via macros to make
> indirect calls to assembly routines. Instead of performing casts at the
> call sites (which trips Control Flow Integrity prototype checking), switch
> each prototype to a common standard set of arguments which allows the
> removal of the existing macros. In order to keep pointer math unchanged,
> internal casting between u128 pointers and u8 pointers is added.
>
> Co-developed-by: João Moreira <joao.moreira@...el.com>
> Signed-off-by: João Moreira <joao.moreira@...el.com>
> Signed-off-by: Kees Cook <keescook@...omium.org>
> ---
> v7:
> - added João's SoB (ebiggers)
> - corrected aesni .S prototype comments (ebiggers)
> - collapsed glue series into a single patch (ebiggers)
> v6: https://lore.kernel.org/lkml/20191122010334.12081-1-keescook@chromium.org
> v5: https://lore.kernel.org/lkml/20191113182516.13545-1-keescook@chromium.org
> v4: https://lore.kernel.org/lkml/20191111214552.36717-1-keescook@chromium.org
> v3: https://lore.kernel.org/lkml/20190507161321.34611-1-keescook@chromium.org
> ---
> arch/x86/crypto/aesni-intel_asm.S | 8 +--
> arch/x86/crypto/aesni-intel_glue.c | 45 ++++++-------
> arch/x86/crypto/camellia_aesni_avx2_glue.c | 74 ++++++++++-----------
> arch/x86/crypto/camellia_aesni_avx_glue.c | 72 +++++++++------------
> arch/x86/crypto/camellia_glue.c | 45 +++++++------
> arch/x86/crypto/cast6_avx_glue.c | 68 +++++++++-----------
> arch/x86/crypto/glue_helper.c | 23 ++++---
> arch/x86/crypto/serpent_avx2_glue.c | 65 +++++++++----------
> arch/x86/crypto/serpent_avx_glue.c | 63 +++++++++---------
> arch/x86/crypto/serpent_sse2_glue.c | 30 +++++----
> arch/x86/crypto/twofish_avx_glue.c | 75 ++++++++++------------
> arch/x86/crypto/twofish_glue_3way.c | 37 ++++++-----
> arch/x86/include/asm/crypto/camellia.h | 63 +++++++++---------
> arch/x86/include/asm/crypto/glue_helper.h | 18 ++----
> arch/x86/include/asm/crypto/serpent-avx.h | 20 +++---
> arch/x86/include/asm/crypto/serpent-sse2.h | 28 ++++----
> arch/x86/include/asm/crypto/twofish.h | 19 +++---
> crypto/cast6_generic.c | 18 +++---
> crypto/serpent_generic.c | 6 +-
> include/crypto/cast6.h | 4 +-
> include/crypto/serpent.h | 4 +-
> include/crypto/xts.h | 2 -
> 22 files changed, 374 insertions(+), 413 deletions(-)
Patch applied. Thanks.
--
Email: Herbert Xu <herbert@...dor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Powered by blists - more mailing lists