Patch "powerpc/kprobes: Dereference function pointers only if the address does not belong to kernel text" has been added to the 4.13-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
powerpc/kprobes: Dereference function pointers only if the address does not belong to kernel text
to the 4.13-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
powerpc-kprobes-dereference-function-pointers-only-if-the-address-does-not-belong-to-kernel-text.patch
and it can be found in the queue-4.13 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
e6c4dcb308160115287afd87afb63b5684d75a5bMon Sep 17 00:00:00 2001
From: "Naveen N. Rao" <[email protected]>
Date: Mon, 30 Oct 2017 20:42:09 +0530
Subject: powerpc/kprobes: Dereference function pointers only if the address does not belong to kernel text
From: Naveen N. Rao <[email protected]>
commit e6c4dcb308160115287afd87afb63b5684d75a5b upstream.
This makes the changes introduced in commit 83e840c770f2c5 ("powerpc64/elfv1: Only dereference function descriptor for non-text symbols") to be specific to the kprobe subsystem.
We previously changed ppc_function_entry() to always check the provided address to confirm if it needed to be dereferenced. This is actually only an issue for kprobe blacklisted asm labels (through use of _ASM_NOKPROBE_SYMBOL) and can cause other issues with ftrace. Also, the additional checks are not really necessary for our other uses.
As such, move this check to the kprobes subsystem.
--- arch/powerpc/kernel/kprobes.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
arch/powerpc/kernel/kprobes.c +6 -1
@@ -600,7 +600,12 @@ NOKPROBE_SYMBOL(kprobe_fault_handler);unsigned long arch_deref_entry_point (void *entry) { -return ppc_global_function_entry (entry); +#ifdef PPC64_ELF_ABI_v1 +if (!kernel_text_address ((unsigned long )entry)) +return ppc_global_function_entry (entry); + else +#endif +return (unsigned long )entry; }NOKPROBE_SYMBOL (arch_deref_entry_point);
Patches currently in stable-queue which might be from [email protected] are
queue-4.13/revert-powerpc64-elfv1-only-dereference-function-descriptor-for-non-text-symbols.patch queue-4.13/powerpc-kprobes-dereference-function-pointers-only-if-the-address-does-not-belong-to-kernel-text.patch