[SRU][F][PATCH 2/8] UBUNTU: SAUCE: Revert "modules: return licensing information from find_symbol"
Ian May
ian.may at canonical.com
Tue Jun 15 22:04:02 UTC 2021
BugLink: https://bugs.launchpad.net/bugs/1932065
This reverts commit e7a86387943009d628ff69fe16e1ab57f2ba614f.
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 at canonical.com>
---
include/linux/module.h | 2 +-
kernel/module.c | 16 +++++-----------
2 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/include/linux/module.h b/include/linux/module.h
index 6eea5d8e0498..ab9a0912ce1f 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -561,7 +561,7 @@ struct module *find_module(const char *name);
struct symsearch {
const struct kernel_symbol *start, *stop;
const s32 *crcs;
- enum mod_license {
+ enum {
NOT_GPL_ONLY,
GPL_ONLY,
WILL_BE_GPL_ONLY,
diff --git a/kernel/module.c b/kernel/module.c
index 124b50860ac3..2da1fdeaadae 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -493,7 +493,6 @@ struct find_symbol_arg {
struct module *owner;
const s32 *crc;
const struct kernel_symbol *sym;
- enum mod_license license;
};
static bool check_exported_symbol(const struct symsearch *syms,
@@ -527,7 +526,6 @@ static bool check_exported_symbol(const struct symsearch *syms,
fsa->owner = owner;
fsa->crc = symversion(syms->crcs, symnum);
fsa->sym = &syms->start[symnum];
- fsa->license = syms->license;
return true;
}
@@ -587,7 +585,6 @@ static bool find_exported_symbol_in_section(const struct symsearch *syms,
static const struct kernel_symbol *find_symbol(const char *name,
struct module **owner,
const s32 **crc,
- enum mod_license *license,
bool gplok,
bool warn)
{
@@ -602,8 +599,6 @@ static const struct kernel_symbol *find_symbol(const char *name,
*owner = fsa.owner;
if (crc)
*crc = fsa.crc;
- if (license)
- *license = fsa.license;
return fsa.sym;
}
@@ -1077,7 +1072,7 @@ void __symbol_put(const char *symbol)
struct module *owner;
preempt_disable();
- if (!find_symbol(symbol, &owner, NULL, NULL, true, false))
+ if (!find_symbol(symbol, &owner, NULL, true, false))
BUG();
module_put(owner);
preempt_enable();
@@ -1355,7 +1350,7 @@ static inline int check_modstruct_version(const struct load_info *info,
* locking is necessary -- use preempt_disable() to placate lockdep.
*/
preempt_disable();
- if (!find_symbol("module_layout", NULL, &crc, NULL, true, false)) {
+ if (!find_symbol("module_layout", NULL, &crc, true, false)) {
preempt_enable();
BUG();
}
@@ -1439,7 +1434,6 @@ static const struct kernel_symbol *resolve_symbol(struct module *mod,
struct module *owner;
const struct kernel_symbol *sym;
const s32 *crc;
- enum mod_license license;
int err;
/*
@@ -1449,7 +1443,7 @@ static const struct kernel_symbol *resolve_symbol(struct module *mod,
*/
sched_annotate_sleep();
mutex_lock(&module_mutex);
- sym = find_symbol(name, &owner, &crc, &license,
+ sym = find_symbol(name, &owner, &crc,
!(mod->taints & (1 << TAINT_PROPRIETARY_MODULE)), true);
if (!sym)
goto unlock;
@@ -2264,7 +2258,7 @@ void *__symbol_get(const char *symbol)
const struct kernel_symbol *sym;
preempt_disable();
- sym = find_symbol(symbol, &owner, NULL, NULL, true, true);
+ sym = find_symbol(symbol, &owner, NULL, true, true);
if (sym && strong_try_module_get(owner))
sym = NULL;
preempt_enable();
@@ -2300,7 +2294,7 @@ static int verify_exported_symbols(struct module *mod)
for (i = 0; i < ARRAY_SIZE(arr); i++) {
for (s = arr[i].sym; s < arr[i].sym + arr[i].num; s++) {
if (find_symbol(kernel_symbol_name(s), &owner, NULL,
- NULL, true, false)) {
+ true, false)) {
pr_err("%s: exports duplicate symbol %s"
" (owned by %s)\n",
mod->name, kernel_symbol_name(s),
--
2.25.1
More information about the kernel-team
mailing list