[RHEL7,COMMIT] ms/extable: Consolidate *kernel_text_address() functions

Submitted by Vasily Averin on Dec. 3, 2020, 12:31 p.m.


Message ID 202012031231.0B3CVhcc011143@vz7build.vvs.sw.ru
State New
Series "Series without cover letter"
Headers show

Commit Message

Vasily Averin Dec. 3, 2020, 12:31 p.m.
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@virtuozzo.com>
Date:   Thu Dec 3 15:31:43 2020 +0300

    ms/extable: Consolidate *kernel_text_address() functions
    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
    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 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.