summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasahiro Yamada <masahiroy@kernel.org>2022-05-05 12:52:10 +0900
committerLuis Chamberlain <mcgrof@kernel.org>2022-05-12 10:29:41 -0700
commitc6eee9df57a6d9252bae93a9386d0d872798f5d5 (patch)
tree1ff47301522ea5c06833422d06667c6eadc940e8
parent8eac910a49347821cbafc770a319e00ccd69d58b (diff)
downloadlinux-c6eee9df57a6d9252bae93a9386d0d872798f5d5.tar.gz
linux-c6eee9df57a6d9252bae93a9386d0d872798f5d5.tar.bz2
linux-c6eee9df57a6d9252bae93a9386d0d872798f5d5.zip
module: do not pass opaque pointer for symbol search
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@kernel.org> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
-rw-r--r--kernel/module/main.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/kernel/module/main.c b/kernel/module/main.c
index ac0a7882899b..d00a8de6d8f5 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c
@@ -244,11 +244,9 @@ static __maybe_unused void *any_section_objs(const struct load_info *info,
#endif
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;
@@ -285,16 +283,15 @@ 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;