• Jessica Yu's avatar
    kprobes: Propagate error from disarm_kprobe_ftrace() · 297f9233
    Jessica Yu authored
    Improve error handling when disarming ftrace-based kprobes. Like with
    arm_kprobe_ftrace(), propagate any errors from disarm_kprobe_ftrace() so
    that we do not disable/unregister kprobes that are still armed. In other
    words, unregister_kprobe() and disable_kprobe() should not report success
    if the kprobe could not be disarmed.
    
    disarm_all_kprobes() keeps its current behavior and attempts to
    disarm all kprobes. It returns the last encountered error and gives a
    warning if not all probes could be disarmed.
    
    This patch is based on Petr Mladek's original patchset (patches 2 and 3)
    back in 2015, which improved kprobes error handling, found here:
    
       https://lkml.org/lkml/2015/2/26/452
    
    However, further work on this had been paused since then and the patches
    were not upstreamed.
    Based-on-patches-by: default avatarPetr Mladek <pmladek@suse.com>
    Signed-off-by: default avatarJessica Yu <jeyu@kernel.org>
    Acked-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
    Cc: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
    Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
    Cc: David S . Miller <davem@davemloft.net>
    Cc: Jiri Kosina <jikos@kernel.org>
    Cc: Joe Lawrence <joe.lawrence@redhat.com>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Miroslav Benes <mbenes@suse.cz>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Petr Mladek <pmladek@suse.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: live-patching@vger.kernel.org
    Link: http://lkml.kernel.org/r/20180109235124.30886-3-jeyu@kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    297f9233
kprobes.c 64.3 KB