• O
    uprobes: Fix UPROBE_SKIP_SSTEP checks in handle_swbp() · 0578a970
    Oleg Nesterov 提交于
    If handle_swbp()->add_utask() fails but UPROBE_SKIP_SSTEP is set,
    cleanup_ret: path do not restart the insn, this is wrong. Remove
    this check and add the additional label for can_skip_sstep() = T
    case.
    
    Note also that UPROBE_SKIP_SSTEP can be false positive, we simply
    can not trust it unless arch_uprobe_skip_sstep() was already called.
    
    Also, move another UPROBE_SKIP_SSTEP check before can_skip_sstep()
    into this helper, this looks more clean and understandable.
    
    Note: probably we should rename "skip" to "emulate" and I think
    that "clear UPROBE_SKIP_SSTEP" should be moved to arch_can_skip.
    Signed-off-by: NOleg Nesterov <oleg@redhat.com>
    Acked-by: NSrikar Dronamraju <srikar@linux.vnet.ibm.com>
    0578a970
uprobes.c 38.8 KB