[RH7,2/2] ms/extable: Consolidate *kernel_text_address() functions

Submitted by Vasily Averin on Nov. 20, 2020, 6:21 a.m.

Details

Message ID 0aeb806b-7a14-fa25-ceed-9f3e595740f1@virtuozzo.com
State New
Series "Series without cover letter"
Headers show

Commit Message

Vasily Averin Nov. 20, 2020, 6:21 a.m.
Author: Steven Rostedt (VMware) <rostedt@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@vger.kernel.org
    Fixes: 0be964be0 ("module: Sanitize RCU usage and locking")
    Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: Steven Rostedt (VMware) <rostedt@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@virtuozzo.com>
---
 kernel/extable.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

Patch hide | download patch | download mbox

diff --git a/kernel/extable.c b/kernel/extable.c
index 4f1a5d2..1cb213f 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.