2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00

alloc_tag: remove empty module tag section

The empty MOD_CODETAG_SECTIONS() macro added an incomplete .data section
in module linker script, which caused symbol lookup tools like gdb to
misinterpret symbol addresses e.g., __ib_process_cq incorrectly mapping to
unrelated functions like below.

  (gdb) disas __ib_process_cq
  Dump of assembler code for function trace_event_fields_cq_schedule:

Removing the empty section restores proper symbol resolution and layout,
ensuring .data placement behaves as expected.

Link: https://lkml.kernel.org/r/20250610162258.324645-1-cachen@purestorage.com
Fixes: 0db6f8d782 ("alloc_tag: load module tags into separate contiguous memory")
       22d407b164 ("lib: add allocation tagging support for memory allocation profiling")
Signed-off-by: Casey Chen <cachen@purestorage.com>
Reviewed-by: Yuanyuan Zhong <yzhong@purestorage.com>
Acked-by: Suren Baghdasaryan <surenb@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Kent Overstreet <kent.overstreet@linux.dev>
Cc: Luis Chamberalin <mcgrof@kernel.org>
Cc: Pasha Tatashin <pasha.tatashin@soleen.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Casey Chen 2025-06-10 10:22:58 -06:00 committed by Andrew Morton
parent 38b0ece6d7
commit 7e43195c60
2 changed files with 0 additions and 11 deletions

View File

@ -11,12 +11,6 @@
#define CODETAG_SECTIONS() \
SECTION_WITH_BOUNDARIES(alloc_tags)
/*
* Module codetags which aren't used after module unload, therefore have the
* same lifespan as the module and can be safely unloaded with the module.
*/
#define MOD_CODETAG_SECTIONS()
#define MOD_SEPARATE_CODETAG_SECTION(_name) \
.codetag.##_name : { \
SECTION_WITH_BOUNDARIES(_name) \

View File

@ -52,17 +52,12 @@ SECTIONS {
.data : {
*(.data .data.[0-9a-zA-Z_]*)
*(.data..L*)
MOD_CODETAG_SECTIONS()
}
.rodata : {
*(.rodata .rodata.[0-9a-zA-Z_]*)
*(.rodata..L*)
}
#else
.data : {
MOD_CODETAG_SECTIONS()
}
#endif
MOD_SEPARATE_CODETAG_SECTIONS()
}