[Devel] [PATCH RHEL7 COMMIT] ms/extable: Consolidate *kernel_text_address() functions
Vasily Averin
vvs at virtuozzo.com
Thu Dec 3 15:31:43 MSK 2020
The commit is pushed to "branch-rh7-3.10.0-1160.6.1.vz7.171.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-1160.6.1.vz7.171.2
------>
commit e0ec00505c7f9e92a713e334002190054e8b9b06
Author: Vasily Averin <vvs at virtuozzo.com>
Date: Thu Dec 3 15:31:43 2020 +0300
ms/extable: Consolidate *kernel_text_address() functions
Author: Steven Rostedt (VMware) <rostedt at goodmis.org>
backported upstream commit 9aadde91b3c035413c806619beb3e3ef6e697953
The functionality between kernel_text_address() and _kernel_text_address()
is the same except that _kernel_text_address() does a little more (that
function needs a rename, but that can be done another time). Instead of
having duplicate code in both, simply have _kernel_text_address() calls
kernel_text_address() instead.
This is marked for stable because there's an RCU bug that can happen if
one of these functions gets called while RCU is not watching. That fix
depends on this fix to keep from having to write the fix twice.
Cc: stable at vger.kernel.org
Fixes: 0be964be0 ("module: Sanitize RCU usage and locking")
Acked-by: Paul E. McKenney <paulmck at linux.vnet.ibm.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt at goodmis.org>
backport changes: context changes, Rh7 and vz7 kernels does not have
is_ftrace_trampoline() and is_kprobe() checks
https://jira.sw.ru/browse/PSBM-122315
Signed-off-by: Vasily Averin <vvs at virtuozzo.com>
---
kernel/extable.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/kernel/extable.c b/kernel/extable.c
index e8de57b..21136fc 100644
--- a/kernel/extable.c
+++ b/kernel/extable.c
@@ -99,11 +99,7 @@ int core_kernel_data(unsigned long addr)
int __kernel_text_address(unsigned long addr)
{
- if (core_kernel_text(addr))
- return 1;
- if (is_module_text_address(addr))
- return 1;
- if (is_bpf_text_address(addr))
+ if (kernel_text_address(addr))
return 1;
/*
* There might be init symbols in saved stacktraces.
More information about the Devel
mailing list