uprobes: Add trap variant helper
authorAnanth N Mavinakayanahalli <ananth@in.ibm.com>
Fri, 22 Mar 2013 15:16:27 +0000 (20:46 +0530)
committerOleg Nesterov <oleg@redhat.com>
Thu, 4 Apr 2013 11:57:04 +0000 (13:57 +0200)
commit0908ad6e56b5a6e86745680bc324bdbfac64d0b6
treedc403ef4b7ee5b912e7c097b2b8bb2e5260bc8ed
parentf281769e81b49840f1857f6dfac049350e678350
uprobes: Add trap variant helper

Some architectures like powerpc have multiple variants of the trap
instruction. Introduce an additional helper is_trap_insn() for run-time
handling of non-uprobe traps on such architectures.

While there, change is_swbp_at_addr() to is_trap_at_addr() for reading
clarity.

With this change, the uprobe registration path will supercede any trap
instruction inserted at the requested location, while taking care of
delivering the SIGTRAP for cases where the trap notification came in
for an address without a uprobe. See [1] for a more detailed explanation.

[1] https://lists.ozlabs.org/pipermail/linuxppc-dev/2013-March/104771.html

This change was suggested by Oleg Nesterov.

Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
include/linux/uprobes.h
kernel/events/uprobes.c