> If handle_swbp()->find_active_uprobe() fails we return with > utask->state = UTASK_BP_HIT. > > Change handle_swbp() to reset utask->state at the start. Note > that we do this unconditionally, see the next patch(es). > > Signed-off-by: Oleg Nesterov <o...@redhat.com> > --- > kernel/events/uprobes.c | 5 ++++- > 1 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c > index 26f06a6..760acc1 100644 > --- a/kernel/events/uprobes.c > +++ b/kernel/events/uprobes.c > @@ -1468,6 +1468,10 @@ static void handle_swbp(struct pt_regs *regs) > bp_vaddr = uprobe_get_swbp_addr(regs); > uprobe = find_active_uprobe(bp_vaddr, &is_swbp); > > + utask = current->utask; > + if (utask) > + utask->state = UTASK_RUNNING; > + > if (!uprobe) { > if (is_swbp > 0) { > /* No matching uprobe; signal SIGTRAP. */ > @@ -1486,7 +1490,6 @@ static void handle_swbp(struct pt_regs *regs) > return; > } > > - utask = current->utask; > if (!utask) { > utask = add_utask(); > /* Cannot allocate; re-execute the instruction. */
Acked-by: Srikar Dronamraju <sri...@linux.vnet.ibm.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/