1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/kernel/module
Aaron Tomlin e69a66147d module: kallsyms: Ensure preemption in add_kallsyms() with PREEMPT_RT
The commit 08126db5ff ("module: kallsyms: Fix suspicious rcu usage")
under PREEMPT_RT=y, disabling preemption introduced an unbounded
latency since the loop is not fixed. This change caused a regression
since previously preemption was not disabled and we would dereference
RCU-protected pointers explicitly. That being said, these pointers
cannot change.

Before kallsyms-specific data is prepared/or set-up, we ensure that
the unformed module is known to be unique i.e. does not already exist
(see load_module()). Therefore, we can fix this by using the common and
more appropriate RCU flavour as this section of code can be safely
preempted.

Reported-by: Steven Rostedt <rostedt@goodmis.org>
Fixes: 08126db5ff ("module: kallsyms: Fix suspicious rcu usage")
Signed-off-by: Aaron Tomlin <atomlin@redhat.com>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
2022-07-11 10:19:09 -07:00
..
debug_kmemleak.c module: Move kmemleak support to a separate file 2022-04-05 08:43:04 -07:00
decompress.c module: Make internal.h and decompress.c more compliant 2022-04-05 08:42:35 -07:00
internal.h module: Fix selfAssignment cppcheck warning 2022-07-01 14:44:17 -07:00
kallsyms.c module: kallsyms: Ensure preemption in add_kallsyms() with PREEMPT_RT 2022-07-11 10:19:09 -07:00
kdb.c module: Add CONFIG_ARCH_WANTS_MODULES_DATA_IN_VMALLOC 2022-04-05 08:43:05 -07:00
livepatch.c module: Move livepatch support to a separate file 2022-04-05 08:43:04 -07:00
main.c module: Fix "warning: variable 'exit' set but not used" 2022-07-01 14:45:24 -07:00
Makefile module: Introduce module unload taint tracking 2022-05-12 10:29:41 -07:00
procfs.c module: Add CONFIG_ARCH_WANTS_MODULES_DATA_IN_VMALLOC 2022-04-05 08:43:05 -07:00
signing.c module: Fix prefix for module.sig_enforce module param 2022-06-02 12:44:33 -07:00
strict_rwx.c module: Add CONFIG_ARCH_WANTS_MODULES_DATA_IN_VMALLOC 2022-04-05 08:43:05 -07:00
sysfs.c module: Move sysfs support into a separate file 2022-04-05 08:43:04 -07:00
tracking.c module: Introduce module unload taint tracking 2022-05-12 10:29:41 -07:00
tree_lookup.c module: Add CONFIG_ARCH_WANTS_MODULES_DATA_IN_VMALLOC 2022-04-05 08:43:05 -07:00
version.c Modules updates for v5.19-rc1 2022-05-26 17:13:43 -07:00