linux/kernel/module
Sebastian Andrzej Siewior 039de46874 module: Use proper RCU assignment in add_kallsyms().
add_kallsyms() assigns the RCU pointer module::kallsyms and setups the
structures behind it which point to init-data. The module was not
published yet, nothing can see the kallsyms pointer and the data behind
it. Also module's init function was not yet invoked.
There is no need to use rcu_dereference() here, it is just to keep
checkers quiet. The whole RCU read section is also not needed.

Use a local kallsyms pointer and setup the data structures. Assign that
pointer to the data structure at the end via rcu_assign_pointer().

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20250108090457.512198-4-bigeasy@linutronix.de
Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
2025-03-10 11:54:44 +01:00
..
debug_kmemleak.c module: prepare to handle ROX allocations for text 2024-11-07 14:25:15 -08:00
decompress.c module/decompress: use kvmalloc() consistently 2023-11-02 07:35:39 -10:00
dups.c remove pointless includes of <linux/fdtable.h> 2024-10-07 13:34:41 -04:00
internal.h Kbuild updates for v6.14 2025-01-31 12:07:07 -08:00
kallsyms.c module: Use proper RCU assignment in add_kallsyms(). 2025-03-10 11:54:44 +01:00
Kconfig Kbuild updates for v6.14 2025-01-31 12:07:07 -08:00
kdb.c module: replace module_layout with module_memory 2023-03-09 12:55:15 -08:00
kmod.c remove pointless includes of <linux/fdtable.h> 2024-10-07 13:34:41 -04:00
livepatch.c livepatch: fix ELF typos 2023-03-09 11:08:24 +01:00
main.c module: Begin to move from RCU-sched to RCU. 2025-03-10 11:54:43 +01:00
Makefile module: Fix KCOV-ignored file name 2024-08-08 17:36:35 +02:00
procfs.c module: replace module_layout with module_memory 2023-03-09 12:55:15 -08:00
signing.c module: Fix prefix for module.sig_enforce module param 2022-06-02 12:44:33 -07:00
stats.c module: Fix comment typo 2023-11-01 13:07:08 -07:00
strict_rwx.c module: Split module_enable_rodata_ro() 2025-01-26 13:05:24 +01:00
sysfs.c Driver core and debugfs updates 2025-01-28 12:25:12 -08:00
tracking.c module: add debug stats to help identify memory pressure 2023-04-18 11:15:24 -07:00
tree_lookup.c module: Begin to move from RCU-sched to RCU. 2025-03-10 11:54:43 +01:00
version.c modules: Support extended MODVERSIONS info 2025-01-11 01:25:26 +09:00