diff mbox series

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

Message ID 20210617203917.1583344-2-ian.may@canonical.com
State New
Headers show
Series [SRU,G,1/8] UBUNTU: SAUCE: Revert "modules: inherit TAINT_PROPRIETARY_MODULE" | expand

Commit Message

Ian May June 17, 2021, 8:39 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1932065

This reverts commit a1364c5c1c767f8fac7cc17293324d46db255410.

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

Reverting as SAUCE patches to prevent regressions.

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 e30ed5fa33a7..30b0f5fcdb3c 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -389,7 +389,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 b7677f38d2a9..f0e8f2c417f9 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1432,24 +1432,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,
@@ -1475,14 +1457,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;