Re: [RFC 0/6] uprobes: kill uprobes_srcu/uprobe_srcu_id

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'll write another email tomorrow, just one note...

On 04/15, Peter Zijlstra wrote:
>
> OK, still not seeing how your proposal could work.. consider the below
> patch comment, I'm not seeing how is_swbp_at_addr_fast() deals with an
> in-progress INT3 while we remove the probe.
>
> By ensuring the non-race with reg/unreg it will either find the uprobe
> (no problem)

Yes,

> or not find it and not see a breakpoint instruction either,
> even though the pending breakpoint was generated by a uprobe (which is
> now gone),

Yes,

> causing a false positive SIGTRAP.

No. Please note that if is_swbp_at_addr_fast() sets is_swbp == 0 we
restart this insn.

(note that we also restart if get_user_pages() fails, this is hopefully
 is more correct too but minor).

> Or am I still not getting it?

My experience shows this is very unlikely. I am starting to think
I missed something, will re-check.


And. I have another reason for down_write() in register/unregister.
I am still not sure this is possible (I had no time to try to
implement), but it seems to me we can kill the uprobe counter in
mm_struct.

Oleg.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]