Skip to content

Commit

Permalink
module: merge check_exported_symbol() into find_exported_symbol_in_se…
Browse files Browse the repository at this point in the history
…ction()

Now check_exported_symbol() always succeeds.

Merge it into find_exported_symbol_in_search() to make the code concise.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
  • Loading branch information
Masahiro Yamada authored and Luis Chamberlain committed May 12, 2022
1 parent cdd66eb commit 7390b94
Showing 1 changed file with 7 additions and 15 deletions.
22 changes: 7 additions & 15 deletions kernel/module/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -243,17 +243,6 @@ static __maybe_unused void *any_section_objs(const struct load_info *info,
#define symversion(base, idx) ((base != NULL) ? ((base) + (idx)) : NULL)
#endif

static bool check_exported_symbol(const struct symsearch *syms,
struct module *owner, unsigned int symnum,
struct find_symbol_arg *fsa)
{
fsa->owner = owner;
fsa->crc = symversion(syms->crcs, symnum);
fsa->sym = &syms->start[symnum];
fsa->license = syms->license;
return true;
}

static const char *kernel_symbol_name(const struct kernel_symbol *sym)
{
#ifdef CONFIG_HAVE_ARCH_PREL32_RELOCATIONS
Expand Down Expand Up @@ -290,12 +279,15 @@ static bool find_exported_symbol_in_section(const struct symsearch *syms,

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

if (sym != NULL && check_exported_symbol(syms, owner,
sym - syms->start, fsa))
return true;
fsa->owner = owner;
fsa->crc = symversion(syms->crcs, sym - syms->start);
fsa->sym = sym;
fsa->license = syms->license;

return false;
return true;
}

/*
Expand Down

0 comments on commit 7390b94

Please sign in to comment.