Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

crypto: clarify licensing of OpenSSL asm code

Several source files have been taken from OpenSSL. In some of them a
comment that "permission to use under GPL terms is granted" was
included below a contradictory license statement. In several cases,
there was no indication that the license of the code was compatible
with the GPLv2.

This change clarifies the licensing for all of these files. I've
confirmed with the author (Andy Polyakov) that a) he has licensed the
files with the GPLv2 comment under that license and b) that he's also
happy to license the other files under GPLv2 too. In one case, the
file is already contained in his CRYPTOGAMS bundle, which has a GPLv2
option, and so no special measures are needed.

In all cases, the license status of code has been clarified by making
the GPLv2 license prominent.

The .S files have been regenerated from the updated .pl files.

This is a comment-only change. No code is changed.

Signed-off-by: Adam Langley <agl@chromium.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Adam Langley and committed by
Herbert Xu
c2e415fe 2808f173

+130 -20
+10
arch/arm/crypto/sha1-armv4-large.S
··· 1 1 #define __ARM_ARCH__ __LINUX_ARM_ARCH__ 2 + @ SPDX-License-Identifier: GPL-2.0 3 + 4 + @ This code is taken from the OpenSSL project but the author (Andy Polyakov) 5 + @ has relicensed it under the GPLv2. Therefore this program is free software; 6 + @ you can redistribute it and/or modify it under the terms of the GNU General 7 + @ Public License version 2 as published by the Free Software Foundation. 8 + @ 9 + @ The original headers, including the original license headers, are 10 + @ included below for completeness. 11 + 2 12 @ ==================================================================== 3 13 @ Written by Andy Polyakov <appro@fy.chalmers.se> for the OpenSSL 4 14 @ project. The module is, however, dual licensed under OpenSSL and
+9 -2
arch/arm/crypto/sha256-armv4.pl
··· 1 1 #!/usr/bin/env perl 2 + # SPDX-License-Identifier: GPL-2.0 3 + 4 + # This code is taken from the OpenSSL project but the author (Andy Polyakov) 5 + # has relicensed it under the GPLv2. Therefore this program is free software; 6 + # you can redistribute it and/or modify it under the terms of the GNU General 7 + # Public License version 2 as published by the Free Software Foundation. 8 + # 9 + # The original headers, including the original license headers, are 10 + # included below for completeness. 2 11 3 12 # ==================================================================== 4 13 # Written by Andy Polyakov <appro@openssl.org> for the OpenSSL 5 14 # project. The module is, however, dual licensed under OpenSSL and 6 15 # CRYPTOGAMS licenses depending on where you obtain it. For further 7 16 # details see http://www.openssl.org/~appro/cryptogams/. 8 - # 9 - # Permission to use under GPL terms is granted. 10 17 # ==================================================================== 11 18 12 19 # SHA256 block procedure for ARMv4. May 2007.
+9 -2
arch/arm/crypto/sha256-core.S_shipped
··· 1 + @ SPDX-License-Identifier: GPL-2.0 2 + 3 + @ This code is taken from the OpenSSL project but the author (Andy Polyakov) 4 + @ has relicensed it under the GPLv2. Therefore this program is free software; 5 + @ you can redistribute it and/or modify it under the terms of the GNU General 6 + @ Public License version 2 as published by the Free Software Foundation. 7 + @ 8 + @ The original headers, including the original license headers, are 9 + @ included below for completeness. 1 10 2 11 @ ==================================================================== 3 12 @ Written by Andy Polyakov <appro@openssl.org> for the OpenSSL 4 13 @ project. The module is, however, dual licensed under OpenSSL and 5 14 @ CRYPTOGAMS licenses depending on where you obtain it. For further 6 15 @ details see http://www.openssl.org/~appro/cryptogams/. 7 - @ 8 - @ Permission to use under GPL terms is granted. 9 16 @ ==================================================================== 10 17 11 18 @ SHA256 block procedure for ARMv4. May 2007.
+9 -2
arch/arm/crypto/sha512-armv4.pl
··· 1 1 #!/usr/bin/env perl 2 + # SPDX-License-Identifier: GPL-2.0 3 + 4 + # This code is taken from the OpenSSL project but the author (Andy Polyakov) 5 + # has relicensed it under the GPLv2. Therefore this program is free software; 6 + # you can redistribute it and/or modify it under the terms of the GNU General 7 + # Public License version 2 as published by the Free Software Foundation. 8 + # 9 + # The original headers, including the original license headers, are 10 + # included below for completeness. 2 11 3 12 # ==================================================================== 4 13 # Written by Andy Polyakov <appro@openssl.org> for the OpenSSL 5 14 # project. The module is, however, dual licensed under OpenSSL and 6 15 # CRYPTOGAMS licenses depending on where you obtain it. For further 7 16 # details see http://www.openssl.org/~appro/cryptogams/. 8 - # 9 - # Permission to use under GPL terms is granted. 10 17 # ==================================================================== 11 18 12 19 # SHA512 block procedure for ARMv4. September 2007.
+9 -2
arch/arm/crypto/sha512-core.S_shipped
··· 1 + @ SPDX-License-Identifier: GPL-2.0 2 + 3 + @ This code is taken from the OpenSSL project but the author (Andy Polyakov) 4 + @ has relicensed it under the GPLv2. Therefore this program is free software; 5 + @ you can redistribute it and/or modify it under the terms of the GNU General 6 + @ Public License version 2 as published by the Free Software Foundation. 7 + @ 8 + @ The original headers, including the original license headers, are 9 + @ included below for completeness. 1 10 2 11 @ ==================================================================== 3 12 @ Written by Andy Polyakov <appro@openssl.org> for the OpenSSL 4 13 @ project. The module is, however, dual licensed under OpenSSL and 5 14 @ CRYPTOGAMS licenses depending on where you obtain it. For further 6 15 @ details see http://www.openssl.org/~appro/cryptogams/. 7 - @ 8 - @ Permission to use under GPL terms is granted. 9 16 @ ==================================================================== 10 17 11 18 @ SHA512 block procedure for ARMv4. September 2007.
+10 -2
arch/arm64/crypto/sha256-core.S_shipped
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + 3 + // This code is taken from the OpenSSL project but the author (Andy Polyakov) 4 + // has relicensed it under the GPLv2. Therefore this program is free software; 5 + // you can redistribute it and/or modify it under the terms of the GNU General 6 + // Public License version 2 as published by the Free Software Foundation. 7 + // 8 + // The original headers, including the original license headers, are 9 + // included below for completeness. 10 + 1 11 // Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. 2 12 // 3 13 // Licensed under the OpenSSL license (the "License"). You may not use ··· 20 10 // project. The module is, however, dual licensed under OpenSSL and 21 11 // CRYPTOGAMS licenses depending on where you obtain it. For further 22 12 // details see http://www.openssl.org/~appro/cryptogams/. 23 - // 24 - // Permission to use under GPLv2 terms is granted. 25 13 // ==================================================================== 26 14 // 27 15 // SHA256/512 for ARMv8.
+10 -2
arch/arm64/crypto/sha512-armv8.pl
··· 1 1 #! /usr/bin/env perl 2 + # SPDX-License-Identifier: GPL-2.0 3 + 4 + # This code is taken from the OpenSSL project but the author (Andy Polyakov) 5 + # has relicensed it under the GPLv2. Therefore this program is free software; 6 + # you can redistribute it and/or modify it under the terms of the GNU General 7 + # Public License version 2 as published by the Free Software Foundation. 8 + # 9 + # The original headers, including the original license headers, are 10 + # included below for completeness. 11 + 2 12 # Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. 3 13 # 4 14 # Licensed under the OpenSSL license (the "License"). You may not use ··· 21 11 # project. The module is, however, dual licensed under OpenSSL and 22 12 # CRYPTOGAMS licenses depending on where you obtain it. For further 23 13 # details see http://www.openssl.org/~appro/cryptogams/. 24 - # 25 - # Permission to use under GPLv2 terms is granted. 26 14 # ==================================================================== 27 15 # 28 16 # SHA256/512 for ARMv8.
+10 -2
arch/arm64/crypto/sha512-core.S_shipped
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + 3 + // This code is taken from the OpenSSL project but the author (Andy Polyakov) 4 + // has relicensed it under the GPLv2. Therefore this program is free software; 5 + // you can redistribute it and/or modify it under the terms of the GNU General 6 + // Public License version 2 as published by the Free Software Foundation. 7 + // 8 + // The original headers, including the original license headers, are 9 + // included below for completeness. 10 + 1 11 // Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. 2 12 // 3 13 // Licensed under the OpenSSL license (the "License"). You may not use ··· 20 10 // project. The module is, however, dual licensed under OpenSSL and 21 11 // CRYPTOGAMS licenses depending on where you obtain it. For further 22 12 // details see http://www.openssl.org/~appro/cryptogams/. 23 - // 24 - // Permission to use under GPLv2 terms is granted. 25 13 // ==================================================================== 26 14 // 27 15 // SHA256/512 for ARMv8.
+45 -6
drivers/crypto/vmx/aesp8-ppc.pl
··· 1 1 #! /usr/bin/env perl 2 - # Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. 3 - # 4 - # Licensed under the OpenSSL license (the "License"). You may not use 5 - # this file except in compliance with the License. You can obtain a copy 6 - # in the file LICENSE in the source distribution or at 7 - # https://www.openssl.org/source/license.html 2 + # SPDX-License-Identifier: GPL-2.0 8 3 4 + # This code is taken from CRYPTOGAMs[1] and is included here using the option 5 + # in the license to distribute the code under the GPL. Therefore this program 6 + # is free software; you can redistribute it and/or modify it under the terms of 7 + # the GNU General Public License version 2 as published by the Free Software 8 + # Foundation. 9 9 # 10 + # [1] https://www.openssl.org/~appro/cryptogams/ 11 + 12 + # Copyright (c) 2006-2017, CRYPTOGAMS by <appro@openssl.org> 13 + # All rights reserved. 14 + # 15 + # Redistribution and use in source and binary forms, with or without 16 + # modification, are permitted provided that the following conditions 17 + # are met: 18 + # 19 + # * Redistributions of source code must retain copyright notices, 20 + # this list of conditions and the following disclaimer. 21 + # 22 + # * Redistributions in binary form must reproduce the above 23 + # copyright notice, this list of conditions and the following 24 + # disclaimer in the documentation and/or other materials 25 + # provided with the distribution. 26 + # 27 + # * Neither the name of the CRYPTOGAMS nor the names of its 28 + # copyright holder and contributors may be used to endorse or 29 + # promote products derived from this software without specific 30 + # prior written permission. 31 + # 32 + # ALTERNATIVELY, provided that this notice is retained in full, this 33 + # product may be distributed under the terms of the GNU General Public 34 + # License (GPL), in which case the provisions of the GPL apply INSTEAD OF 35 + # those given above. 36 + # 37 + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS 38 + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 39 + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 40 + # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 41 + # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 42 + # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 43 + # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 44 + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 45 + # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 46 + # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 47 + # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 48 + 10 49 # ==================================================================== 11 50 # Written by Andy Polyakov <appro@openssl.org> for the OpenSSL 12 51 # project. The module is, however, dual licensed under OpenSSL and
+9
drivers/crypto/vmx/ghashp8-ppc.pl
··· 1 1 #!/usr/bin/env perl 2 + # SPDX-License-Identifier: GPL-2.0 3 + 4 + # This code is taken from the OpenSSL project but the author (Andy Polyakov) 5 + # has relicensed it under the GPLv2. Therefore this program is free software; 6 + # you can redistribute it and/or modify it under the terms of the GNU General 7 + # Public License version 2 as published by the Free Software Foundation. 2 8 # 9 + # The original headers, including the original license headers, are 10 + # included below for completeness. 11 + 3 12 # ==================================================================== 4 13 # Written by Andy Polyakov <appro@openssl.org> for the OpenSSL 5 14 # project. The module is, however, dual licensed under OpenSSL and