Re: [PATCH -tip v4 0/6] kprobes: introduce NOKPROBE_SYMBOL() andfixes crash bugs
From: Sandeepa Prabhu
Date: Tue Dec 03 2013 - 21:54:45 EST
On 4 December 2013 06:58, Masami Hiramatsu
<masami.hiramatsu.pt@xxxxxxxxxxx> wrote:
> Hi,
> Here is the version 4 of NOKPORBE_SYMBOL series.
>
> In this version, I removed the cleanup patches and
> add bugfixes I've found, since those bugs will be
> critical.
> Rest of the cleanup and visible blacklists will be
> proposed later in another series.
>
> Oh, just one new thing, I added a new RFC patch which
> removes the dependency of notify_die() from kprobes
> miss-hit/recovery path. Since the notify_die() involves
> locking and lockdep code which invokes a lot of heavy
> printk functions etc. This helped me to minimize the
> blacklist and provides more stability for kprobes.
> Actually, most of int3 handlers are already called
> from do_int3 directly, I think this change is acceptable
> too.
>
> Here is the updates about NOKPROBE_SYMBOL().
> - Now _ASM_NOKPROBE() macro is introduced for assembly
> symbols on x86.
> - Rename kprobe_blackpoint to kprobe_blacklist_entry
> and simplify it. Also NOKPROBE_SYMBOL() macro just
> saves the address of non-probe-able symbols.
>
> ---
>
> Masami Hiramatsu (6):
> kprobes: Prohibit probing on .entry.text code
> kprobes: Introduce NOKPROBE_SYMBOL() macro for blacklist
Hi Masami,
Is it good idea to split "arch/x86" code from generic kernel changes?
Then we just need to take above two patches for verifying it on arm64
or other platforms.
Thanks,
Sandeepa
> [BUGFIX] kprobes/x86: Prohibit probing on debug_stack_*
> [BUGFIX] x86: Prohibit probing on native_set_debugreg
> [BUGFIX] x86: Prohibit probing on thunk functions and restore
> [RFC] kprobes/x86: Call exception handlers directly from do_int3/do_debug
>
>
> Documentation/kprobes.txt | 16 +++++
> arch/x86/include/asm/asm.h | 7 ++
> arch/x86/include/asm/kprobes.h | 2 +
> arch/x86/kernel/cpu/common.c | 4 +
> arch/x86/kernel/entry_32.S | 33 -----------
> arch/x86/kernel/entry_64.S | 20 -------
> arch/x86/kernel/kprobes/core.c | 32 ++++------
> arch/x86/kernel/paravirt.c | 5 ++
> arch/x86/kernel/traps.c | 10 +++
> arch/x86/lib/thunk_32.S | 3 +
> arch/x86/lib/thunk_64.S | 3 +
> include/asm-generic/vmlinux.lds.h | 9 +++
> include/linux/kprobes.h | 21 ++++++-
> kernel/kprobes.c | 113 ++++++++++++++++++++-----------------
> kernel/sched/core.c | 1
> 15 files changed, 147 insertions(+), 132 deletions(-)
>
> --
> Masami HIRAMATSU
> IT Management Research Dept. Linux Technology Center
> Hitachi, Ltd., Yokohama Research Laboratory
> E-mail: masami.hiramatsu.pt@xxxxxxxxxxx
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/