Messages in this thread | | | Date | Fri, 21 Dec 2012 18:37:41 +0100 | From | Oleg Nesterov <> | Subject | Re: [RFC PATCH 0/6] uprobes: return probe implementation |
| |
On 12/21, Anton Arapov wrote: > > There are RFC uretprobes implementation. I'd be grateful for any review.
Anton, I won't look at this series till Monday (at least).
But at first glance it needs a lot of cleanups and _fixes_.
If nothing else, ->return_instances logic looks very wrong (but again, I didn't really read this series and I already had a beer ;).
Just for example. Suppose that you insert uretprobe at exit() in glibc(). IOW, handle_swbp(rp_trampoline_vaddr) never happens. Who will cleanup utask->return_instances and kfree() return_instance's?
Or. return_consumer_del() simply removes uprobe_consumer. Again, somehow we should free the "pending" return_instance's. Plus we should restore the original return adresses connected to these return_instance's. Just suppose that uretprobe_run_handlers() is called after uprobe has gone away. In this case ri->uprobe points to nowhere.
Oleg.
| |