Messages in this thread | | | Date | Wed, 08 Aug 2012 11:35:26 +0200 | From | Sebastian Andrzej Siewior <> | Subject | Re: [PATCH 3/5] uprobes: remove check for uprobe variable in handle_swbp() |
| |
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?
Sebastian
| |