On Sat, 09 Feb 2008 15:40:12 -0700
Larry Finger <Larry.Finger@xxxxxxxxxxxx> wrote:
Is the set_pages_* API that replaces change_page_attr described
somewhere? I have been unable to find it with Google.
I'm trying to modify the VirtualBox kernel module to work with
2.6.24-git (and 2.6.25) on x86_64 architecture. The current code has
a value of the third argument of the call (prot) with 3 variants. All
variations have the following bits set: _PAGE_PRESENT, _PAGE_RW,
_PAGE_DIRTY, and _PAGE_ACCESSED. Number 2 adds _PAGE_NX to the above,
and number 3 adds _PAGE_GLOBAL to the bits in variation 1.
From the code in arch/x86/mm/pageattr.c, I figured I need to call
set_pages_wb() unconditionally, and set_pages_nx() if _PAGE_NX is
set. Will these calls be sufficient? I thought about calling
set_pages_rw(), but that entry is not exported.
ok looking at the actual code.. it seems to only care about making a piece of memory executable (and then clearing it before freeing), so all you need is set_memory_x() and set_memory_nx()