[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] About revoke write access of all the shadows

  • To: xen-devel@xxxxxxxxxxxxx
  • From: lmingcsce <lmingcsce@xxxxxxxxx>
  • Date: Thu, 26 Jul 2012 16:18:38 -0400
  • Delivery-date: Thu, 26 Jul 2012 20:19:03 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

Hi all,
Recently, I read codes about the shadow page table. I'm wondering whether the 
kernel has provided the function to revoke write access of all the shadows of 
one domain. If you know one with this function, please tell me about it. Thanks.
BTW, I have my own idea to implement this. My idea is as follows: 
void sh_revoke_write_access_all(struct domain *d)
    foreach_pinned_shadow(d, sp, t)

       According to sp->u.sh.type, (like SH_type_l1_32_shadow ......), get each 
entry (shadow_l1e_get_flags) of the page table. Changes the flags to read only 
and then write the page table entry back (shadow_set_l1e).
       When going through the page table, I can use SHADOW_FOREACH_L1E (L2E, 
L3E, L4E) macro. 
       However, I have one question. When dealing with shadow page table L2, 
L3, L4, can I use the same way as L1 page table to change flags and set flags ?

Do you think my idea is possible? Thanks for giving me some suggestions.

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.