Skip to content

Commit 15d5daa

Browse files
arndbmcgrof
authored andcommitted
kallsyms: remove unused arch_get_kallsym() helper
The arch_get_kallsym() function was introduced so that x86 could override it, but that override was removed in bf904d2 ("x86/pti/64: Remove the SYSCALL64 entry trampoline"), so now this does nothing except causing a warning about a missing prototype: kernel/kallsyms.c:662:12: error: no previous prototype for 'arch_get_kallsym' [-Werror=missing-prototypes] 662 | int __weak arch_get_kallsym(unsigned int symnum, unsigned long *value, Restore the old behavior before d83212d ("kallsyms, x86: Export addresses of PTI entry trampolines") to simplify the code and avoid the warning. Signed-off-by: Arnd Bergmann <[email protected]> Tested-by: Alan Maguire <[email protected]> [mcgrof: fold in bpf selftest fix] Signed-off-by: Luis Chamberlain <[email protected]>
1 parent cb0b50b commit 15d5daa

File tree

2 files changed

+2
-30
lines changed

2 files changed

+2
-30
lines changed

kernel/kallsyms.c

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -646,7 +646,6 @@ int sprint_backtrace_build_id(char *buffer, unsigned long address)
646646
/* To avoid using get_symbol_offset for every symbol, we carry prefix along. */
647647
struct kallsym_iter {
648648
loff_t pos;
649-
loff_t pos_arch_end;
650649
loff_t pos_mod_end;
651650
loff_t pos_ftrace_mod_end;
652651
loff_t pos_bpf_end;
@@ -659,29 +658,9 @@ struct kallsym_iter {
659658
int show_value;
660659
};
661660

662-
int __weak arch_get_kallsym(unsigned int symnum, unsigned long *value,
663-
char *type, char *name)
664-
{
665-
return -EINVAL;
666-
}
667-
668-
static int get_ksymbol_arch(struct kallsym_iter *iter)
669-
{
670-
int ret = arch_get_kallsym(iter->pos - kallsyms_num_syms,
671-
&iter->value, &iter->type,
672-
iter->name);
673-
674-
if (ret < 0) {
675-
iter->pos_arch_end = iter->pos;
676-
return 0;
677-
}
678-
679-
return 1;
680-
}
681-
682661
static int get_ksymbol_mod(struct kallsym_iter *iter)
683662
{
684-
int ret = module_get_kallsym(iter->pos - iter->pos_arch_end,
663+
int ret = module_get_kallsym(iter->pos - kallsyms_num_syms,
685664
&iter->value, &iter->type,
686665
iter->name, iter->module_name,
687666
&iter->exported);
@@ -764,7 +743,6 @@ static void reset_iter(struct kallsym_iter *iter, loff_t new_pos)
764743
iter->nameoff = get_symbol_offset(new_pos);
765744
iter->pos = new_pos;
766745
if (new_pos == 0) {
767-
iter->pos_arch_end = 0;
768746
iter->pos_mod_end = 0;
769747
iter->pos_ftrace_mod_end = 0;
770748
iter->pos_bpf_end = 0;
@@ -780,10 +758,6 @@ static int update_iter_mod(struct kallsym_iter *iter, loff_t pos)
780758
{
781759
iter->pos = pos;
782760

783-
if ((!iter->pos_arch_end || iter->pos_arch_end > pos) &&
784-
get_ksymbol_arch(iter))
785-
return 1;
786-
787761
if ((!iter->pos_mod_end || iter->pos_mod_end > pos) &&
788762
get_ksymbol_mod(iter))
789763
return 1;

tools/testing/selftests/bpf/progs/bpf_iter_ksym.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,7 @@ int dump_ksym(struct bpf_iter__ksym *ctx)
5959
} else {
6060
BPF_SEQ_PRINTF(seq, "0x%llx %c %s ", value, type, iter->name);
6161
}
62-
if (!iter->pos_arch_end || iter->pos_arch_end > iter->pos)
63-
BPF_SEQ_PRINTF(seq, "CORE ");
64-
else if (!iter->pos_mod_end || iter->pos_mod_end > iter->pos)
62+
if (!iter->pos_mod_end || iter->pos_mod_end > iter->pos)
6563
BPF_SEQ_PRINTF(seq, "MOD ");
6664
else if (!iter->pos_ftrace_mod_end || iter->pos_ftrace_mod_end > iter->pos)
6765
BPF_SEQ_PRINTF(seq, "FTRACE_MOD ");

0 commit comments

Comments
 (0)