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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250617203726.GC1288@sol>
Date: Tue, 17 Jun 2025 13:37:26 -0700
From: Eric Biggers <ebiggers@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-crypto@...r.kernel.org, linux-kernel@...r.kernel.org,
	linux-arm-kernel@...ts.infradead.org, linux-mips@...r.kernel.org,
	linux-riscv@...ts.infradead.org, linux-s390@...r.kernel.org,
	sparclinux@...r.kernel.org, x86@...nel.org,
	Ard Biesheuvel <ardb@...nel.org>,
	"Jason A . Donenfeld" <Jason@...c4.com>
Subject: Re: [PATCH v2 00/17] SHA-512 library functions

On Tue, Jun 17, 2025 at 01:08:14PM -0700, Linus Torvalds wrote:
> On Tue, 17 Jun 2025 at 12:59, Eric Biggers <ebiggers@...nel.org> wrote:
> >
> > Again, the tests depend on the code they test being added first.
> 
> Sure, and that's fine. We have lots of "this depends on that".
> 
> > I could do two pull requests, the first with all non-test code and the second
> > with all test code, where the second depends on the first, i.e. it will have the
> > last commit of the first as its base commit.  Is that what you want?
> 
> Yes.
> 
> Or if one single pull request, split out the diffstat with the
> explanation (that's the "Or at the very least spell things out *very*
> clearly" option). But two separate pull requests would actually be my
> preference.
> 
>           Linus

Okay.  For now I'll keep the test commits last and plan for a separate pull
request with them, based on the first.  I fear I'll quickly run into
interdependencies, in which case I'll need to fall back to "one pull request and
spell things out very clearly".  But I'll try it.

Just so it's clear, this is the diffstat of this patchset broken down by
non-test code (patches 1-3 and 6-17) and tests (4-5):

    Non-test:
         arch/arm/configs/exynos_defconfig                  |   1 -
         arch/arm/configs/milbeaut_m10v_defconfig           |   1 -
         arch/arm/configs/multi_v7_defconfig                |   1 -
         arch/arm/configs/omap2plus_defconfig               |   1 -
         arch/arm/configs/pxa_defconfig                     |   1 -
         arch/arm/crypto/Kconfig                            |  10 -
         arch/arm/crypto/Makefile                           |  15 -
         arch/arm/crypto/sha512-glue.c                      | 110 ------
         arch/arm/crypto/sha512-neon-glue.c                 |  75 ----
         arch/arm/crypto/sha512.h                           |   3 -
         arch/arm64/configs/defconfig                       |   1 -
         arch/arm64/crypto/Kconfig                          |  19 -
         arch/arm64/crypto/Makefile                         |  14 -
         arch/arm64/crypto/sha512-ce-glue.c                 |  96 -----
         arch/arm64/crypto/sha512-glue.c                    |  83 -----
         arch/mips/cavium-octeon/crypto/Makefile            |   1 -
         arch/mips/cavium-octeon/crypto/octeon-crypto.c     |   3 +-
         arch/mips/cavium-octeon/crypto/octeon-md5.c        |   3 +-
         arch/mips/cavium-octeon/crypto/octeon-sha1.c       |   3 +-
         arch/mips/cavium-octeon/crypto/octeon-sha256.c     |   3 +-
         arch/mips/cavium-octeon/crypto/octeon-sha512.c     | 167 ---------
         arch/mips/configs/cavium_octeon_defconfig          |   1 -
         arch/mips/crypto/Kconfig                           |  10 -
         .../asm/octeon/crypto.h}                           |   0
         arch/riscv/crypto/Kconfig                          |  11 -
         arch/riscv/crypto/Makefile                         |   3 -
         arch/riscv/crypto/sha512-riscv64-glue.c            | 124 -------
         arch/s390/configs/debug_defconfig                  |   1 -
         arch/s390/configs/defconfig                        |   1 -
         arch/s390/crypto/Kconfig                           |  10 -
         arch/s390/crypto/Makefile                          |   1 -
         arch/s390/crypto/sha512_s390.c                     | 151 --------
         arch/sparc/crypto/Kconfig                          |  10 -
         arch/sparc/crypto/Makefile                         |   2 -
         arch/sparc/crypto/sha512_glue.c                    | 122 -------
         arch/x86/crypto/Kconfig                            |  13 -
         arch/x86/crypto/Makefile                           |   3 -
         arch/x86/crypto/sha512_ssse3_glue.c                | 322 -----------------
         crypto/Kconfig                                     |   4 +-
         crypto/Makefile                                    |   2 +-
         crypto/sha512.c                                    | 338 +++++++++++++++++
         crypto/sha512_generic.c                            | 217 -----------
         crypto/testmgr.c                                   |  16 +
         drivers/crypto/starfive/jh7110-hash.c              |   8 +-
         include/crypto/sha2.h                              | 350 ++++++++++++++++++
         include/crypto/sha512_base.h                       | 120 -------
         lib/crypto/Kconfig                                 |  18 +
         lib/crypto/Makefile                                |  36 ++
         lib/crypto/arm/.gitignore                          |   2 +
         .../arm/crypto => lib/crypto/arm}/sha512-armv4.pl  |   0
         lib/crypto/arm/sha512.h                            |  38 ++
         lib/crypto/arm64/.gitignore                        |   2 +
         .../crypto => lib/crypto/arm64}/sha512-ce-core.S   |  10 +-
         lib/crypto/arm64/sha512.h                          |  46 +++
         lib/crypto/mips/sha512.h                           |  74 ++++
         .../crypto/riscv}/sha512-riscv64-zvknhb-zvkb.S     |   4 +-
         lib/crypto/riscv/sha512.h                          |  41 +++
         lib/crypto/s390/sha512.h                           |  28 ++
         lib/crypto/sha512.c                                | 400 +++++++++++++++++++++
         lib/crypto/sparc/sha512.h                          |  42 +++
         .../sparc/crypto => lib/crypto/sparc}/sha512_asm.S |   0
         .../x86/crypto => lib/crypto/x86}/sha512-avx-asm.S |  11 +-
         .../crypto => lib/crypto/x86}/sha512-avx2-asm.S    |  11 +-
         .../crypto => lib/crypto/x86}/sha512-ssse3-asm.S   |  12 +-
         lib/crypto/x86/sha512.h                            |  54 +++
         65 files changed, 1524 insertions(+), 1756 deletions(-)

    Test:
         lib/crypto/Kconfig                    |   2 +
         lib/crypto/Makefile                   |   2 +
         lib/crypto/tests/Kconfig              |  24 ++
         lib/crypto/tests/Makefile             |   6 +
         lib/crypto/tests/hash-test-template.h | 512 ++++++++++++++++++++++++++
         lib/crypto/tests/sha224-testvecs.h    | 223 ++++++++++++
         lib/crypto/tests/sha224_kunit.c       |  50 +++
         lib/crypto/tests/sha256-testvecs.h    | 223 ++++++++++++
         lib/crypto/tests/sha256_kunit.c       |  39 ++
         lib/crypto/tests/sha384-testvecs.h    | 566 +++++++++++++++++++++++++++++
         lib/crypto/tests/sha384_kunit.c       |  48 +++
         lib/crypto/tests/sha512-testvecs.h    | 662 ++++++++++++++++++++++++++++++++++
         lib/crypto/tests/sha512_kunit.c       |  48 +++
         scripts/crypto/gen-hash-testvecs.py   |  83 +++++
         14 files changed, 2488 insertions(+)

Note that the non-test part includes kerneldoc comments.  I'll assume you aren't
going to insist on those being in a separate "documentation" pull request...

If I need to resend this patchset for another reason, I'll also split it into
two patchsets, one depending on the other.  But I'm not planning to resend it
purely to do that split and with no other changes, as that seems a bit silly.

- Eric

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ