[seL4] Change Access Right to Memory Pages
nrattana at uci.edu
Tue May 2 03:21:58 AEST 2017
I have some questions about how to change access rights in seL4. (I'm using
native seL4, not camkes)
1) Currently, I'm using seL4_ARCH_Page_Remap to change an access right
(from R/W to R/O) to a specific page (of other processes) at run-time. I'm
doing as follows:
seL4_CPtr frame = vspace_get_cap(&(p.vspace), p.thread.stack_top-1); //
only for the stack
int error = seL4_ARCH_Page_Remap(frame, ppd.cptr, seL4_CanRead,
Am I doing it correctly? The code seems to work fine for me but I just want
to double check.
2) If my understanding in 1) is correct, the remap function only takes 1
cap at a time.
So if I want to modify access rights of many pages, do I have to call the
remap function multiple times?
Or is there a more efficient way to do so?
3) I am also curious how the kernel handles the remap function. Does it
simply flip/change some bits? Or does it involve page-related operations as
e.g. unmap that page first and then remap the same region with a new access
right? I guess it should be the former but I need to be sure about that.
Norrathep (Oak) Rattanavipanon
M.S. in Computer Science
University of California - Irvine
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Devel