On 07/31/2012 07:51 PM, Oleg Nesterov wrote:
However, honestly I do not like it. I think we should change this step-by-step, that is why I suggested to use TIF_SINGLESTEP and user_enable_single_step() like your initial patch did. With this patch at least the debugger doesn't lose the control over the tracee if it steps over the probed insn, and this is the main (and known ;) problem to me.
I thought you did not like the nesting with TIF_SIGNLESTEP and the _FORCE and suggested to handle the complete state within uprobe.
Every change needs the discussion. For example, _enable should clear DEBUGCTLMSR_BTF, this is obvious. But it is not clear to me if _disable should restore it. What if the probed insn was "jmp"? We need the additional complications to handle this case really correctly, and for what? OK, gdb can get the extra SIGTRAP from the tracee, but this is fine. And uprobes can confuse gdb in many ways.
I don't know if it is worth to have correct behavior here or rather go for the easy way which is either always do the wakeup or delay until the next jump. Sebastian -- 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/