Messages in this thread | | | Date | Thu, 3 Apr 2014 16:14:54 -0700 | Subject | Re: [PATCH] arm: don't allow CONFIG_DEBUG_SET_MODULE_RONX if CONFIG_JUMP_LABEL is enabled | From | Kees Cook <> |
| |
On Tue, Apr 1, 2014 at 4:08 PM, Rabin Vincent <rabin@rab.in> wrote: > 2014-04-01 20:36 GMT+02:00 Kees Cook <keescook@chromium.org>: >> Is there something "sticky" about PMD sections that I'm not aware of? >> Even after calling set_kernel_text_rw(), any writes to kernel memory >> fault. :( > > section_update() updates init_mm, but each mm has a copy of the first > level page tables. So your updates to init_mm won't be visibile to > currently running processes. (Have a look at arch/arm/mm/ioremap.c's > vmalloc_seq stuff for some background on how section support is > handled on non-SMP; the vmalloc code doesn't use sections on SMP.)
Ah-ha! This is the missing piece of information for me. :)
> Here's a patch (probably whitespace damaged, hence also attached) with > which dynamic ftrace works for me on top your other paches. Tested on > a non-LPAE SMP.
Thanks! I'll incorporate calls to set_all_modules_text_rw/ro and see what I can make work.
-Kees
-- Kees Cook Chrome OS Security
| |