Re: [PATCH v2 02/13] uprobes: allow ignoring of probe hits

From: David Long
Date: Wed Oct 30 2013 - 17:11:17 EST


Sorry for the delay, all this week it's me that's traveling.


On 10/28/13 14:54, Oleg Nesterov wrote:
David, sorry for delay.

On 10/19, Oleg Nesterov wrote:

On 10/15, David Long wrote:

@@ -1732,9 +1732,6 @@ static void handle_swbp(struct pt_regs *regs)
return;
}

- /* change it in advance for ->handler() and restart */
- instruction_pointer_set(regs, bp_vaddr);
-

Well, this looks obviously wrong. This SET_IP() has the comment ;)

Note also that with this breaks __skip_sstep() on x86.

Hmm. Thinking more, it seems that this patch has another problem.

IIUC, the whole point of arch_uprobe_ignore() is to avoid
handler_chain() if the condition was not satisfied, so you need
to call it before handler_chain() ?

Yes, you're right. I can see now that is a bad merge of an earlier version of the patch. I have just tested the fix. Thanks for finding this.


Otherwise this logic should go into can_skip_sstep() and we simply
do not need the new hook, just we need to tweak the (ugly)
UPROBE_SKIP_SSTEP logic.

Oleg.



-dl

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/