Commit 60b57b9c authored by Petr Pavlu's avatar Petr Pavlu
Browse files

module: Make .static_call_sites read-only after init



Section .static_call_sites holds data structures that need to be sorted and
processed only at module load time. This initial processing happens in
static_call_add_module(), which is invoked as a callback to the
MODULE_STATE_COMING notification from prepare_coming_module().

The section is never modified afterwards. Make it therefore read-only after
module initialization to avoid any (non-)accidental modifications.

Reviewed-by: default avatarSami Tolvanen <samitolvanen@google.com>
Reviewed-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
Link: https://lore.kernel.org/r/20250306131430.7016-4-petr.pavlu@suse.com


Signed-off-by: default avatarPetr Pavlu <petr.pavlu@suse.com>
parent f7984942
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -121,6 +121,15 @@ static const char *const ro_after_init[] = {
	 * section, which are marked as such at module load time.
	 */
	"__jump_table",

#ifdef CONFIG_HAVE_STATIC_CALL_INLINE
	/*
	 * Section .static_call_sites holds data structures that need to be
	 * sorted and processed at module load time but are never modified
	 * afterwards.
	 */
	".static_call_sites",
#endif
};

void module_mark_ro_after_init(const Elf_Ehdr *hdr, Elf_Shdr *sechdrs,