From dd4d5fdb582dbcd3e1aee93c9cc1fce5edc410fd Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sun, 30 May 2021 16:43:54 +0200 Subject: [PATCH] Revert "modules: inherit TAINT_PROPRIETARY_MODULE" This reverts commit 2ab98abf0d2a820efa726a5e143133fc5993ed56 which is commit 262e6ae7081df304fc625cf368d5c2cbba2bb991 upstream. It breaks the ABI here, and it's not something needed in this old kernel that is not getting new devices added for it. Bug: 161946584 Signed-off-by: Greg Kroah-Hartman Change-Id: I5058656c9ab1988b669b90ab90a07ad77cd8eb6b --- include/linux/module.h | 1 - kernel/module.c | 27 --------------------------- 2 files changed, 28 deletions(-) diff --git a/include/linux/module.h b/include/linux/module.h index 3c693fd31ed8..ebfa6af7a173 100644 --- a/include/linux/module.h +++ b/include/linux/module.h @@ -365,7 +365,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 369de5381fe8..60150d2d918e 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -1379,25 +1379,6 @@ static inline int same_magic(const char *amagic, const char *bmagic, } #endif /* CONFIG_MODVERSIONS */ -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, const struct load_info *info, @@ -1422,14 +1403,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;