diff mbox series

[SRU,F,1/8] UBUNTU: SAUCE: Revert "modules: inherit TAINT_PROPRIETARY_MODULE"

Message ID 20210615220408.1407292-2-ian.may@canonical.com
State New
Headers show
Series UBUNTU: SAUCE: Revert upstream 'module' patches that removed exported symbols | expand

Commit Message

Ian May June 15, 2021, 10:04 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1932065

This reverts commit 0c7a3184ffcd6f6db7236a57a74ab66d121bba62.

Upstream introduced 'module' patches that removed exported symbols
that might cause potential disruption and breakage for customers.

Temporarily reverting as SAUCE patches to allow customers time to
make necessary changes to support patch changes.

Signed-off-by: Ian May <ian.may@canonical.com>
---
 include/linux/module.h |  1 -
 kernel/module.c        | 26 --------------------------
 2 files changed, 27 deletions(-)
diff mbox series

Patch

diff --git a/include/linux/module.h b/include/linux/module.h
index 3e01e01f00cc..6eea5d8e0498 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -376,7 +376,6 @@  struct module {
 	unsigned int num_gpl_syms;
 	const struct kernel_symbol *gpl_syms;
 	const s32 *gpl_crcs;
-	bool using_gplonly_symbols;
 
 #ifdef CONFIG_UNUSED_SYMBOLS
 	/* unused exported symbols. */
diff --git a/kernel/module.c b/kernel/module.c
index 88a6a9e04f8d..124b50860ac3 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1429,24 +1429,6 @@  static int verify_namespace_is_imported(const struct load_info *info,
 	return 0;
 }
 
-static bool inherit_taint(struct module *mod, struct module *owner)
-{
-	if (!owner || !test_bit(TAINT_PROPRIETARY_MODULE, &owner->taints))
-		return true;
-
-	if (mod->using_gplonly_symbols) {
-		pr_err("%s: module using GPL-only symbols uses symbols from proprietary module %s.\n",
-			mod->name, owner->name);
-		return false;
-	}
-
-	if (!test_bit(TAINT_PROPRIETARY_MODULE, &mod->taints)) {
-		pr_warn("%s: module uses symbols from proprietary module %s, inheriting taint.\n",
-			mod->name, owner->name);
-		set_bit(TAINT_PROPRIETARY_MODULE, &mod->taints);
-	}
-	return true;
-}
 
 /* Resolve a symbol for this module.  I.e. if we find one, record usage. */
 static const struct kernel_symbol *resolve_symbol(struct module *mod,
@@ -1472,14 +1454,6 @@  static const struct kernel_symbol *resolve_symbol(struct module *mod,
 	if (!sym)
 		goto unlock;
 
-	if (license == GPL_ONLY)
-		mod->using_gplonly_symbols = true;
-
-	if (!inherit_taint(mod, owner)) {
-		sym = NULL;
-		goto getname;
-	}
-
 	if (!check_version(info, name, mod, crc)) {
 		sym = ERR_PTR(-EINVAL);
 		goto getname;