The patch titled Subject: scripts/kallysms: always include __start and __stop symbols has been added to the -mm mm-unstable branch. Its filename is scripts-kallysms-always-include-__start-and-__stop-symbols.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/scripts-kallysms-always-include-__start-and-__stop-symbols.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Kent Overstreet <kent.overstreet@xxxxxxxxx> Subject: scripts/kallysms: always include __start and __stop symbols Date: Thu, 21 Mar 2024 09:36:26 -0700 These symbols are used to denote section boundaries: by always including them we can unify loading sections from modules with loading built-in sections, which leads to some significant cleanup. Link: https://lkml.kernel.org/r/20240321163705.3067592-5-surenb@xxxxxxxxxx Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Reviewed-by: Pasha Tatashin <pasha.tatashin@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Alex Gaynor <alex.gaynor@xxxxxxxxx> Cc: Alice Ryhl <aliceryhl@xxxxxxxxxx> Cc: Andreas Hindborg <a.hindborg@xxxxxxxxxxx> Cc: Benno Lossin <benno.lossin@xxxxxxxxx> Cc: "Björn Roy Baron" <bjorn3_gh@xxxxxxxxxxxxxx> Cc: Boqun Feng <boqun.feng@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Dennis Zhou <dennis@xxxxxxxxxx> Cc: Gary Guo <gary@xxxxxxxxxxx> Cc: Miguel Ojeda <ojeda@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Wedson Almeida Filho <wedsonaf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- scripts/kallsyms.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) --- a/scripts/kallsyms.c~scripts-kallysms-always-include-__start-and-__stop-symbols +++ a/scripts/kallsyms.c @@ -204,6 +204,11 @@ static int symbol_in_range(const struct return 0; } +static bool string_starts_with(const char *s, const char *prefix) +{ + return strncmp(s, prefix, strlen(prefix)) == 0; +} + static int symbol_valid(const struct sym_entry *s) { const char *name = sym_name(s); @@ -211,6 +216,14 @@ static int symbol_valid(const struct sym /* if --all-symbols is not specified, then symbols outside the text * and inittext sections are discarded */ if (!all_symbols) { + /* + * Symbols starting with __start and __stop are used to denote + * section boundaries, and should always be included: + */ + if (string_starts_with(name, "__start_") || + string_starts_with(name, "__stop_")) + return 1; + if (symbol_in_range(s, text_ranges, ARRAY_SIZE(text_ranges)) == 0) return 0; _ Patches currently in -mm which might be from kent.overstreet@xxxxxxxxx are fix-missing-vmalloch-includes.patch asm-generic-ioh-kill-vmalloch-dependency.patch mm-slub-mark-slab_free_freelist_hook-__always_inline.patch scripts-kallysms-always-include-__start-and-__stop-symbols.patch fs-convert-alloc_inode_sb-to-a-macro.patch rust-add-a-rust-helper-for-krealloc.patch mempool-hook-up-to-memory-allocation-profiling.patch mm-percpu-introduce-pcpuobj_ext.patch mm-percpu-add-codetag-reference-into-pcpuobj_ext.patch mm-vmalloc-enable-memory-allocation-profiling.patch rhashtable-plumb-through-alloc-tag.patch maintainers-add-entries-for-code-tagging-and-memory-allocation-profiling.patch memprofiling-documentation.patch