* Oleg Nesterov <[email protected]> [2012-09-30 21:42:04]: > delete_uprobe() must not be called if register_for_each_vma(false) > fails to remove all breakpoints, __uprobe_unregister() is correct. > The problem is that register_for_each_vma(false) always returns 0 > and thus this logic does not work. > > 1. Change verify_opcode() to return 0 rather than -EINVAL when > unregister detects the !is_swbp insn, we can treat this case > as success and currently unregister paths ignore the error > code anyway. > > 2. Change remove_breakpoint() to propagate the error code from > write_opcode(). > > 3. Change register_for_each_vma(is_register => false) to remove > as much breakpoints as possible but return non-zero if > remove_breakpoint() fails at least once. > > Signed-off-by: Oleg Nesterov <[email protected]>
Acked-by: Srikar Dronamraju <[email protected]> -- 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/

