Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dd4d5fdb authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Revert "modules: inherit TAINT_PROPRIETARY_MODULE"



This reverts commit 2ab98abf 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: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: I5058656c9ab1988b669b90ab90a07ad77cd8eb6b
parent 011b73c9
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -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. */
+0 −27
Original line number Diff line number Diff line
@@ -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;