diff options
| author | Wen Yang <wen.yang@linux.dev> | 2026-09-15 03:13:36 +0800 |
|---|---|---|
| committer | Gabriele Monaco <gmonaco@redhat.com> | 2026-10-01 13:59:46 +0200 |
| commit | 89a6f8102948afa5d0851a6eebf5d7b166a42a6f (patch) | |
| tree | af18e8e964efcd0d7256c536014575e3a8801ad1 /kernel/trace | |
| parent | cd34b37a7d56b0e0daf0e82d50453599459e2496 (diff) | |
| download | linux-89a6f8102948afa5d0851a6eebf5d7b166a42a6f.tar.gz linux-89a6f8102948afa5d0851a6eebf5d7b166a42a6f.zip | |
rv: Export rv_register_reactor() and rv_unregister_reactor()
rv_react() is exported to modules, but the reactor registration helpers
are not. Export them with EXPORT_SYMBOL_GPL() so reactor modules and
the tristate KUnit test module can register and unregister reactors
without hitting undefined symbol errors at link time(modpost).
Commit 3d3800b4f7f4 ("rv: Remove reactor's reference counter") noted
that module-based reactors, if supported, should be pinned with
try_module_get()/module_put() to prevent unloading under an active
monitor. This patch does not add that support. The only in-tree module
consumer, the tristate KUnit reactor test module, registers and
unregisters its reactor within a controlled test lifecycle.
The actual pinning is left to a follow-up series that adds support for
loadable-module reactors.
Reviewed-by: Gabriele Monaco <gmonaco@redhat.com>
Signed-off-by: Wen Yang <wen.yang@linux.dev>
Link: https://lore.kernel.org/r/94b7ec120a92b9368541ac050601e66be8fe653a.1789412799.git.wen.yang@linux.dev
Signed-off-by: Gabriele Monaco <gmonaco@redhat.com>
Diffstat (limited to 'kernel/trace')
| -rw-r--r-- | kernel/trace/rv/rv_reactors.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/trace/rv/rv_reactors.c b/kernel/trace/rv/rv_reactors.c index ff7d478227c3..8e57a95d446b 100644 --- a/kernel/trace/rv/rv_reactors.c +++ b/kernel/trace/rv/rv_reactors.c @@ -314,6 +314,7 @@ int rv_register_reactor(struct rv_reactor *reactor) guard(mutex)(&rv_interface_lock); return __rv_register_reactor(reactor); } +EXPORT_SYMBOL_GPL(rv_register_reactor); /** * rv_unregister_reactor - unregister a rv reactor. @@ -327,6 +328,7 @@ int rv_unregister_reactor(struct rv_reactor *reactor) list_del(&reactor->list); return 0; } +EXPORT_SYMBOL_GPL(rv_unregister_reactor); /* * reacting_on interface. |
