Messages in this thread | | | Date | Thu, 5 Dec 2013 19:45:50 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH?] uprobes: change uprobe_write_opcode() to modify the page directly |
| |
On 12/05, Borislav Petkov wrote: > > On Thu, Dec 05, 2013 at 06:23:55PM +0100, Oleg Nesterov wrote: > > This is almost off-topic, but I am wondering if (in the long term) we > > can avoid this "insert the bp into every mm" altogether. > > > > Instead, uprobe_write_opcode() should only unmap this page and set > > Ok, sorry if I'm completely off base here but have you guys tried > unmapping the page from all other VMs,
This is what I meant, but we can't simply clear this pte,
> and causing all > the VMs to refault
why? it would be better to install the page on demand.
> patching you'd probably need to cause the #PF handler to "loop" until > patching is complete though.
We can't do this, but I do not think we need to block #PF handler.
However, somehow the #PF handler should know that it should install the patched page owned by uprobes. That is why I talked about SWP_UPROBE_ENTRY (or something similar)
But again, in any case this is not trivial.
And perhaps I misundestood you... If you actually want to cause all the VMs to refault, then why we can't unmap + refault every mm like the patch I sent does? Just in case, note that we can't share the same page anyway without more complications.
Oleg.
| |