Messages in this thread | | | Subject | Re: [PATCH 0/7] Uprobes: Support SDT markers having reference count (semaphore) | From | Ravi Bangoria <> | Date | Mon, 11 Jun 2018 10:01:58 +0530 |
| |
Hi Masami,
>>> Hmm, it sounds simple... maybe we can increment refctr in install_breakpoint/ >>> remove_breakpoint? >> >> Not really, it would be simpler if I can put it inside install_breakpoint(). >> Consider an mmap() case. Probed instruction resides in the text section whereas >> reference counter resides in the data section. These sections gets mapped using >> separate mmap() calls. So, when process mmaps the text section we will change the >> instruction, but section holding the reference counter may not have been mapped >> yet in the virtual memory. If so, we will fail to update the reference counter. > > Got it. > In such case, maybe we can hook the target page mmapped and do install_breakpoint() > at that point. Since the instruction is protected by a refctr, unless mmap the > page on where the refctr is, the program doesn't reach the tracepoint. Is that right? >
You mean, when mmap(text) happens, save the target page somewhere and when mmap(data) happens, update both instruction and ref_ctr?
This sounds feasible. Let me think on it.
Thanks for suggestion, Ravi
| |