grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v4 1/5] kern: dl: Allow modules under CC0 license


From: Patrick Steinhardt
Subject: [PATCH v4 1/5] kern: dl: Allow modules under CC0 license
Date: Sun, 8 Aug 2021 15:58:44 +0200

We're about to import the reference implementation of Argon2, which is
licensed under CC0. Given that this license is compatible with the GPL
according to [1], having code under this license alongside with GPL'd
code is perfectly fine.

[1]: https://www.gnu.org/licenses/license-list.en.html#CC0

Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
 grub-core/kern/dl.c           | 3 ++-
 util/grub-module-verifierXX.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
index 48f8a7907..7d395096f 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
@@ -462,7 +462,8 @@ grub_dl_check_license (Elf_Ehdr *e)
   Elf_Shdr *s = grub_dl_find_section (e, ".module_license");
   if (s && (grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3") == 0
            || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3+") == 0
-           || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv2+") == 0))
+           || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv2+") == 0
+           || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=CC0") == 0))
     return GRUB_ERR_NONE;
   return grub_error (GRUB_ERR_BAD_MODULE, "incompatible license");
 }
diff --git a/util/grub-module-verifierXX.c b/util/grub-module-verifierXX.c
index ceb24309a..284f9026e 100644
--- a/util/grub-module-verifierXX.c
+++ b/util/grub-module-verifierXX.c
@@ -157,7 +157,8 @@ check_license (const char * const filename,
   Elf_Shdr *s = find_section (arch, e, ".module_license");
   if (s && (strcmp ((char *) e + grub_target_to_host(s->sh_offset), 
"LICENSE=GPLv3") == 0
            || strcmp ((char *) e + grub_target_to_host(s->sh_offset), 
"LICENSE=GPLv3+") == 0
-           || strcmp ((char *) e + grub_target_to_host(s->sh_offset), 
"LICENSE=GPLv2+") == 0))
+           || strcmp ((char *) e + grub_target_to_host(s->sh_offset), 
"LICENSE=GPLv2+") == 0
+           || strcmp ((char *) e + grub_target_to_host(s->sh_offset), 
"LICENSE=CC0") == 0))
     return;
   grub_util_error ("%s: incompatible license", filename);
 }
-- 
2.32.0

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]