Messages in this thread | | | Date | Wed, 9 Jan 2013 17:12:22 +0100 | From | Oleg Nesterov <> | Subject | Re: [RFC PATCH v2 0/4] uprobes: return probe implementation |
| |
On 01/09, Anton Arapov wrote: > > There are RFC uretprobes implementation. I'd be grateful for review. > > RFCv1: https://lkml.org/lkml/2012/12/21/133 > > I've intentionally removed the retprobe bypass logic, it requires > a bit more work.
Yes, this is not trivial, lets do this separately.
> not fixed since last prior RFC review: > unify xol_get_trampoline_slot() and xol_take_insn_slot()
This was of the reasons for "Do not play with utask in xol_get_insn_slot()" I sent. After this patch you only need the trivial change
- static unsigned long xol_get_insn_slot(struct uprobe *uprobe) + static unsigned long xol_get_insn_slot(unsigned char *insn)
and now you do not need xol_get_trampoline_slot().
However. Why do you need it at all? Let me quote myself:
Or. Perhaps even better, do not add this helper at all. xol_alloc_area() could reserve the first slot/bit for trampoline. And note that in this case we do not need xol_area->rp_trampoline_vaddr, it is always equal to xol_area->vaddr.
?
> protect uprobe in prepare_uretprobe()
This should be fixed ;)
Oleg.
| |