[PATCH 1/3] module: do not pass opaque pointer for symbol search

From: Masahiro Yamada
Date: Wed May 04 2022 - 15:44:09 EST


There is no need to use an opaque pointer for check_exported_symbol()
or find_exported_symbol_in_section.

Pass (struct find_symbol_arg *) explicitly.

Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
---

kernel/module.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/kernel/module.c b/kernel/module.c
index c9e2342da28e..d57beb6b4eee 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -445,11 +445,9 @@ struct find_symbol_arg {
};

static bool check_exported_symbol(const struct symsearch *syms,
- struct module *owner,
- unsigned int symnum, void *data)
+ struct module *owner, unsigned int symnum,
+ struct find_symbol_arg *fsa)
{
- struct find_symbol_arg *fsa = data;
-
if (!fsa->gplok && syms->license == GPL_ONLY)
return false;
fsa->owner = owner;
@@ -495,16 +493,15 @@ static int cmp_name(const void *name, const void *sym)

static bool find_exported_symbol_in_section(const struct symsearch *syms,
struct module *owner,
- void *data)
+ struct find_symbol_arg *fsa)
{
- struct find_symbol_arg *fsa = data;
struct kernel_symbol *sym;

sym = bsearch(fsa->name, syms->start, syms->stop - syms->start,
sizeof(struct kernel_symbol), cmp_name);

if (sym != NULL && check_exported_symbol(syms, owner,
- sym - syms->start, data))
+ sym - syms->start, fsa))
return true;

return false;
--
2.32.0