Re: [PATCH v11 09/14] module: Move kallsyms support into a separate file

From: Steven Rostedt
Date: Tue Jun 28 2022 - 00:05:34 EST


On Thu, 10 Mar 2022 10:24:08 +0000
Aaron Tomlin <atomlin@xxxxxxxxxx> wrote:

> No functional change.
>

And this too has a functional change as well.

Reported-by: Chuck Lever III <chuck.lever@xxxxxxxxxx>
Link: https://lore.kernel.org/all/355D2478-33D3-4046-8422-E512F42C51BC@xxxxxxxxxx/


Before this patch:

# grep -a '^[0-9a-f]* [^a-zA-Z]' /proc/kallsyms

Nothing.

After this patch:

# grep -a '^[0-9a-f]* [^a-zA-Z]' /proc/kallsyms
ffffffffc09df024 ^@ _note_9 [ebtables]
ffffffffc09df03c ^@ _note_8 [ebtables]
ffffffffc0e25024 ^@ _note_9 [bridge]
ffffffffc0e2503c ^@ _note_8 [bridge]
ffffffffc0e01000 ^@ br_switchdev_event [bridge]
ffffffffc0e39548 ^@ __warned.10 [bridge]
ffffffffc09bd024 ^@ _note_9 [stp]
ffffffffc09bd03c ^@ _note_8 [stp]
ffffffffc0849024 ^@ _note_9 [vmw_vmci]
ffffffffc084903c ^@ _note_8 [vmw_vmci]
ffffffffc0849454 ^@ __kstrtab_vmci_context_get_priv_flags [vmw_vmci]
ffffffffc0849470 ^@ __kstrtabns_vmci_context_get_priv_flags [vmw_vmci]
ffffffffc0849054 ^@ __ksymtab_vmci_context_get_priv_flags [vmw_vmci]
ffffffffc081d024 ^@ _note_9 [nf_reject_ipv6]
ffffffffc081d03c ^@ _note_8 [nf_reject_ipv6]
ffffffffc081d0a8 ^@ __kstrtab_nf_reject_skb_v6_tcp_reset [nf_reject_ipv6]
ffffffffc081d0c3 ^@ __kstrtabns_nf_reject_skb_v6_tcp_reset [nf_reject_ipv6]
ffffffffc081d078 ^@ __ksymtab_nf_reject_skb_v6_tcp_reset [nf_reject_ipv6]
ffffffffc081d0c4 ^@ __kstrtab_nf_reject_skb_v6_unreach [nf_reject_ipv6]

The kallsyms get corrupted output, and this breaks trace-cmd.

-- Steve


> This patch migrates kallsyms code out of core module
> code kernel/module/kallsyms.c
>
> Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx>
> ---
> kernel/module/Makefile | 1 +
> kernel/module/internal.h | 29 +++
> kernel/module/kallsyms.c | 502 ++++++++++++++++++++++++++++++++++++
> kernel/module/main.c | 531 +--------------------------------------
> 4 files changed, 538 insertions(+), 525 deletions(-)
> create mode 100644 kernel/module/kallsyms.c
>