diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2012-08-07 12:12:30 -0400 |
---|---|---|
committer | Oleg Nesterov <oleg@redhat.com> | 2012-08-28 12:21:16 -0400 |
commit | 8bd874456e2ec49b9e64372ddc89a6f88901d184 (patch) | |
tree | fe918f684d04e88c7ba55c5ba56ee4ce7f3c7b74 /kernel/events | |
parent | 61e1d394984110e2e76f25572d5b1b5d48796751 (diff) |
uprobes: Remove check for uprobe variable in handle_swbp()
by the time we get here (after we pass cleanup_ret) uprobe is always is
set. If it is NULL we leave very early in the code.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Diffstat (limited to 'kernel/events')
-rw-r--r-- | kernel/events/uprobes.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index 7cff24c60dd7..0cefde276641 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c | |||
@@ -1516,17 +1516,15 @@ cleanup_ret: | |||
1516 | utask->active_uprobe = NULL; | 1516 | utask->active_uprobe = NULL; |
1517 | utask->state = UTASK_RUNNING; | 1517 | utask->state = UTASK_RUNNING; |
1518 | } | 1518 | } |
1519 | if (uprobe) { | 1519 | if (!(uprobe->flags & UPROBE_SKIP_SSTEP)) |
1520 | if (!(uprobe->flags & UPROBE_SKIP_SSTEP)) | ||
1521 | 1520 | ||
1522 | /* | 1521 | /* |
1523 | * cannot singlestep; cannot skip instruction; | 1522 | * cannot singlestep; cannot skip instruction; |
1524 | * re-execute the instruction. | 1523 | * re-execute the instruction. |
1525 | */ | 1524 | */ |
1526 | instruction_pointer_set(regs, bp_vaddr); | 1525 | instruction_pointer_set(regs, bp_vaddr); |
1527 | 1526 | ||
1528 | put_uprobe(uprobe); | 1527 | put_uprobe(uprobe); |
1529 | } | ||
1530 | } | 1528 | } |
1531 | 1529 | ||
1532 | /* | 1530 | /* |