On 08/08/2012 03:05 PM, Sebastian Andrzej Siewior wrote:
On 08/08/2012 11:10 AM, Suzuki K. Poulose wrote:--- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c @@ -1528,17 +1528,15 @@ cleanup_ret: utask->active_uprobe = NULL; utask->state = UTASK_RUNNING; } - if (uprobe) { - if (!(uprobe->flags & UPROBE_SKIP_SSTEP)) + if (!(uprobe->flags & UPROBE_SKIP_SSTEP))Shouldn't we check uprobe != NULL before we check the uprobe->flags ? i.e, shouldn't the above line be : if (uprobe && ! (uprobe->flags & UPROBE_SKIP_SSTEP)) ?The function starts like this: if (!uprobe) { if (is_swbp > 0) { send_sig(SIGTRAP, current, 0); } else { instruction_pointer_set(regs, bp_vaddr); } return; } Which makes uprobe != NULL by the time we get there, no?
My bad, was looking at an older version of the function. Also, the removal of the if (uprobe), check triggered the above question. Thanks Suzuki -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

