Skip to content

Commit

Permalink
module: remove each_symbol_in_section
Browse files Browse the repository at this point in the history
each_symbol_in_section just contains a trivial loop over its arguments.
Just open code the loop in the two callers.

Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
  • Loading branch information
Christoph Hellwig authored and Jessica Yu committed Feb 8, 2021
1 parent 922f2a7 commit a7c38f2
Showing 1 changed file with 7 additions and 22 deletions.
29 changes: 7 additions & 22 deletions kernel/module.c
Original file line number Diff line number Diff line change
Expand Up @@ -428,30 +428,13 @@ extern const s32 __start___kcrctab_unused_gpl[];
#define symversion(base, idx) ((base != NULL) ? ((base) + (idx)) : NULL)
#endif

static bool each_symbol_in_section(const struct symsearch *arr,
unsigned int arrsize,
struct module *owner,
bool (*fn)(const struct symsearch *syms,
struct module *owner,
void *data),
void *data)
{
unsigned int j;

for (j = 0; j < arrsize; j++) {
if (fn(&arr[j], owner, data))
return true;
}

return false;
}

/* Returns true as soon as fn returns true, otherwise false. */
static bool each_symbol_section(bool (*fn)(const struct symsearch *arr,
struct module *owner,
void *data),
void *data)
{
unsigned int i;
struct module *mod;
static const struct symsearch arr[] = {
{ __start___ksymtab, __stop___ksymtab, __start___kcrctab,
Expand All @@ -474,8 +457,9 @@ static bool each_symbol_section(bool (*fn)(const struct symsearch *arr,

module_assert_mutex_or_preempt();

if (each_symbol_in_section(arr, ARRAY_SIZE(arr), NULL, fn, data))
return true;
for (i = 0; i < ARRAY_SIZE(arr); i++)
if (fn(&arr[i], NULL, data))
return true;

list_for_each_entry_rcu(mod, &modules, list,
lockdep_is_held(&module_mutex)) {
Expand Down Expand Up @@ -504,8 +488,9 @@ static bool each_symbol_section(bool (*fn)(const struct symsearch *arr,
if (mod->state == MODULE_STATE_UNFORMED)
continue;

if (each_symbol_in_section(arr, ARRAY_SIZE(arr), mod, fn, data))
return true;
for (i = 0; i < ARRAY_SIZE(arr); i++)
if (fn(&arr[i], mod, data))
return true;
}
return false;
}
Expand Down

0 comments on commit a7c38f2

Please sign in to comment.