Messages in this thread | | | Date | Fri, 20 Feb 2009 18:55:35 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 2/5] ftrace, x86: make kernel text writable only for conversions |
| |
* Steven Rostedt <rostedt@goodmis.org> wrote:
> > > +/* used by ftrace */ > > > +void set_kernel_text_rw(void) > > > > i'd leave out the 'used by ftrace' bit - more uses might > > arise. How does kprobes get around readonly pages, it uses > > these APIs too, right? > > kprobes uses text_poke. text_poke uses vmap to create its own > page table pointers to the text memory, does the modification > and then removes the pointers. This is quite heavy weight and > since ftrace needs to modify 10s of thousands of areas, > converting all of kernel text page tables is much more > efficient. > > Note, if kprobes did change the original page tables, then it > too would have hit the split_large_page bug too.
i think the real reason is that kprobes was written before we had this more flexible and more usable CPA code.
Ingo
| |