On Tue, Aug 21, 2012 at 03:09:30PM +0200, Oleg Nesterov wrote:
...
quoted
This is true for Intel like architectures that have *one* swbp
instruction. On Powerpc, gdb for instance, can insert a trap variant at
the address. Therefore, is_swbp_insn() by definition should return true
for all trap variants.
Not in this case, I think.
OK, I was going to do this later, but this discussion makes me think
I should try to send the patch sooner.
set_swbp()->is_swbp_at_addr() is simply unneeded and in fact should
be considered as unnecessary pessimization.
set_orig_insn()->is_swbp_at_addr() makes more sense, but it can't fix
all races with userpace. Still it should die.
quoted
OK. I will separate out the is_swbp_insn() change into a separate patch.
Great thanks. And if we remove is_swbp_insn() from set_swbp() and
set_orig_insn() then the semantics of is_swbp_insn() will much more
clear, and in this case I powerpc probably really needs to change it.
Oleg,
I have posted a new version for review [1] without the is_swbp_insn()
change. I will await your changes around is_swbp_at_addr() and make
changes to the powerpc code if necessary.
Regards,
Ananth
[1] https://lists.ozlabs.org/pipermail/linuxppc-dev/2012-August/100524.html