mbox series

[0/3] crypto - some SPDX cleanups for arch code

Message ID 20230606173127.4050254-1-ardb@kernel.org (mailing list archive)
Headers show
Series crypto - some SPDX cleanups for arch code | expand

Message

Ard Biesheuvel June 6, 2023, 5:31 p.m. UTC
Some SPDX cleanups for the arch crypto code on ARM, arm64 and x86

Ard Biesheuvel (3):
  crypto: arm64 - add some missing SPDX headers
  crypto: arm - add some missing SPDX headers
  crypto: x86 - add some missing SPDX headers

 arch/arm/crypto/chacha-neon-core.S          | 10 +----
 arch/arm/crypto/crc32-ce-core.S             | 30 ++-----------
 arch/arm/crypto/crct10dif-ce-core.S         | 40 +----------------
 arch/arm64/crypto/chacha-neon-core.S        | 10 +----
 arch/arm64/crypto/chacha-neon-glue.c        | 10 +----
 arch/arm64/crypto/crct10dif-ce-core.S       | 40 +----------------
 arch/x86/crypto/aesni-intel_avx-x86_64.S    | 36 +--------------
 arch/x86/crypto/camellia-aesni-avx-asm_64.S |  7 +--
 arch/x86/crypto/crc32-pclmul_glue.c         | 24 +---------
 arch/x86/crypto/crc32c-pcl-intel-asm_64.S   | 29 +-----------
 arch/x86/crypto/crct10dif-pcl-asm_64.S      | 36 +--------------
 arch/x86/crypto/crct10dif-pclmul_glue.c     | 16 +------
 arch/x86/crypto/sha1_avx2_x86_64_asm.S      | 46 +-------------------
 arch/x86/crypto/sha1_ni_asm.S               | 46 +-------------------
 arch/x86/crypto/sha256-avx-asm.S            | 28 +-----------
 arch/x86/crypto/sha256-avx2-asm.S           | 29 +-----------
 arch/x86/crypto/sha256-ssse3-asm.S          | 29 +-----------
 arch/x86/crypto/sha256_ni_asm.S             | 46 +-------------------
 arch/x86/crypto/sha256_ssse3_glue.c         | 15 +------
 arch/x86/crypto/sha512-avx-asm.S            | 29 +-----------
 arch/x86/crypto/sha512-avx2-asm.S           | 29 +-----------
 arch/x86/crypto/sha512-ssse3-asm.S          | 29 +-----------
 arch/x86/crypto/sha512_ssse3_glue.c         | 16 +------
 arch/x86/crypto/twofish_glue.c              | 16 +------
 24 files changed, 26 insertions(+), 620 deletions(-)

Comments

Eric Biggers June 7, 2023, 4:37 a.m. UTC | #1
On Tue, Jun 06, 2023 at 07:31:24PM +0200, Ard Biesheuvel wrote:
> Some SPDX cleanups for the arch crypto code on ARM, arm64 and x86
> 
> Ard Biesheuvel (3):
>   crypto: arm64 - add some missing SPDX headers
>   crypto: arm - add some missing SPDX headers
>   crypto: x86 - add some missing SPDX headers
> 
>  arch/arm/crypto/chacha-neon-core.S          | 10 +----
>  arch/arm/crypto/crc32-ce-core.S             | 30 ++-----------
>  arch/arm/crypto/crct10dif-ce-core.S         | 40 +----------------
>  arch/arm64/crypto/chacha-neon-core.S        | 10 +----
>  arch/arm64/crypto/chacha-neon-glue.c        | 10 +----
>  arch/arm64/crypto/crct10dif-ce-core.S       | 40 +----------------
>  arch/x86/crypto/aesni-intel_avx-x86_64.S    | 36 +--------------
>  arch/x86/crypto/camellia-aesni-avx-asm_64.S |  7 +--
>  arch/x86/crypto/crc32-pclmul_glue.c         | 24 +---------
>  arch/x86/crypto/crc32c-pcl-intel-asm_64.S   | 29 +-----------
>  arch/x86/crypto/crct10dif-pcl-asm_64.S      | 36 +--------------
>  arch/x86/crypto/crct10dif-pclmul_glue.c     | 16 +------
>  arch/x86/crypto/sha1_avx2_x86_64_asm.S      | 46 +-------------------
>  arch/x86/crypto/sha1_ni_asm.S               | 46 +-------------------
>  arch/x86/crypto/sha256-avx-asm.S            | 28 +-----------
>  arch/x86/crypto/sha256-avx2-asm.S           | 29 +-----------
>  arch/x86/crypto/sha256-ssse3-asm.S          | 29 +-----------
>  arch/x86/crypto/sha256_ni_asm.S             | 46 +-------------------
>  arch/x86/crypto/sha256_ssse3_glue.c         | 15 +------
>  arch/x86/crypto/sha512-avx-asm.S            | 29 +-----------
>  arch/x86/crypto/sha512-avx2-asm.S           | 29 +-----------
>  arch/x86/crypto/sha512-ssse3-asm.S          | 29 +-----------
>  arch/x86/crypto/sha512_ssse3_glue.c         | 16 +------
>  arch/x86/crypto/twofish_glue.c              | 16 +------
>  24 files changed, 26 insertions(+), 620 deletions(-)

Reviewed-by: Eric Biggers <ebiggers@google.com>

- Eric
Eric Biggers June 10, 2023, 3:12 a.m. UTC | #2
On Tue, Jun 06, 2023 at 09:37:30PM -0700, Eric Biggers wrote:
> On Tue, Jun 06, 2023 at 07:31:24PM +0200, Ard Biesheuvel wrote:
> > Some SPDX cleanups for the arch crypto code on ARM, arm64 and x86
> > 
> > Ard Biesheuvel (3):
> >   crypto: arm64 - add some missing SPDX headers
> >   crypto: arm - add some missing SPDX headers
> >   crypto: x86 - add some missing SPDX headers
> > 
> >  arch/arm/crypto/chacha-neon-core.S          | 10 +----
> >  arch/arm/crypto/crc32-ce-core.S             | 30 ++-----------
> >  arch/arm/crypto/crct10dif-ce-core.S         | 40 +----------------
> >  arch/arm64/crypto/chacha-neon-core.S        | 10 +----
> >  arch/arm64/crypto/chacha-neon-glue.c        | 10 +----
> >  arch/arm64/crypto/crct10dif-ce-core.S       | 40 +----------------
> >  arch/x86/crypto/aesni-intel_avx-x86_64.S    | 36 +--------------
> >  arch/x86/crypto/camellia-aesni-avx-asm_64.S |  7 +--
> >  arch/x86/crypto/crc32-pclmul_glue.c         | 24 +---------
> >  arch/x86/crypto/crc32c-pcl-intel-asm_64.S   | 29 +-----------
> >  arch/x86/crypto/crct10dif-pcl-asm_64.S      | 36 +--------------
> >  arch/x86/crypto/crct10dif-pclmul_glue.c     | 16 +------
> >  arch/x86/crypto/sha1_avx2_x86_64_asm.S      | 46 +-------------------
> >  arch/x86/crypto/sha1_ni_asm.S               | 46 +-------------------
> >  arch/x86/crypto/sha256-avx-asm.S            | 28 +-----------
> >  arch/x86/crypto/sha256-avx2-asm.S           | 29 +-----------
> >  arch/x86/crypto/sha256-ssse3-asm.S          | 29 +-----------
> >  arch/x86/crypto/sha256_ni_asm.S             | 46 +-------------------
> >  arch/x86/crypto/sha256_ssse3_glue.c         | 15 +------
> >  arch/x86/crypto/sha512-avx-asm.S            | 29 +-----------
> >  arch/x86/crypto/sha512-avx2-asm.S           | 29 +-----------
> >  arch/x86/crypto/sha512-ssse3-asm.S          | 29 +-----------
> >  arch/x86/crypto/sha512_ssse3_glue.c         | 16 +------
> >  arch/x86/crypto/twofish_glue.c              | 16 +------
> >  24 files changed, 26 insertions(+), 620 deletions(-)
> 
> Reviewed-by: Eric Biggers <ebiggers@google.com>
> 

Actually, given the discussion on the other thread
https://lore.kernel.org/r/20230607053940.39078-10-bagasdotme@gmail.com, maybe it
would be best to hold off on this for now?  Or at least split this series into
more patches, such that each patch does only one "type" of SPDX replacement.

I still think these conversions are probably fine, but some points that perhaps
need an explicit explanation are:

* Using GPL-2.0-only for files like chacha-neon-core.S whose file header says
  GPL v2, but also says GPL v2 or later.

* Replacing with SPDX on files that explicitly say "DO NOT ALTER OR REMOVE
  COPYRIGHT NOTICES OR THIS FILE HEADER."

* Using BSD-3-Clause when the license text in the file header has the copyright
  holder name instead of "copyright holder", thus making it not an exact
  word-for-word match with LICENSES/preferred/BSD-3-Clause.  (It seems there are
  specific rules for variations that have been approved, e.g. see
  https://github.com/spdx/license-list-XML/blob/main/src/BSD-3-Clause.xml and
  https://spdx.github.io/spdx-spec/v2.2.2/license-matching-guidelines-and-templates)

* Using "GPL-2.0-only OR BSD-3-Clause" for the two crct10dif-ce-core.S files.
  They have an unusual file header, and it could be argued that some
  contributions to those files were intended to be licensed under GPL-2.0-only.
  FWIW, I am fine with either license for my contributions to those files.

- Eric
Bagas Sanjaya June 10, 2023, 7:25 a.m. UTC | #3
On Fri, Jun 09, 2023 at 08:12:48PM -0700, Eric Biggers wrote:
> Actually, given the discussion on the other thread
> https://lore.kernel.org/r/20230607053940.39078-10-bagasdotme@gmail.com, maybe it
> would be best to hold off on this for now?  Or at least split this series into
> more patches, such that each patch does only one "type" of SPDX replacement.

Thanks for pointing to my thread! (and Cc'ing Richard of course ...)

If we continue on the conversion, I definitely agree with your latter
option (as I have done there).

> 
> I still think these conversions are probably fine, but some points that perhaps
> need an explicit explanation are:
> 
> * Using GPL-2.0-only for files like chacha-neon-core.S whose file header says
>   GPL v2, but also says GPL v2 or later.

In that case, IMO, err to the safe side and assume the most restrictive
(GPL-2.0-only).

> 
> * Replacing with SPDX on files that explicitly say "DO NOT ALTER OR REMOVE
>   COPYRIGHT NOTICES OR THIS FILE HEADER."

Just add the SPDX tag...

> 
> * Using BSD-3-Clause when the license text in the file header has the copyright
>   holder name instead of "copyright holder", thus making it not an exact
>   word-for-word match with LICENSES/preferred/BSD-3-Clause.  (It seems there are
>   specific rules for variations that have been approved, e.g. see
>   https://github.com/spdx/license-list-XML/blob/main/src/BSD-3-Clause.xml and
>   https://spdx.github.io/spdx-spec/v2.2.2/license-matching-guidelines-and-templates)

Above case is wording variation (for which we conclude that only license
boilerplate with exact wording can be replaced by the tag).

> 
> * Using "GPL-2.0-only OR BSD-3-Clause" for the two crct10dif-ce-core.S files.
>   They have an unusual file header, and it could be argued that some
>   contributions to those files were intended to be licensed under GPL-2.0-only.
>   FWIW, I am fine with either license for my contributions to those files.

Dunno.

Thanks.