[xen staging] x86/mm: change default value for suppress #VE in set_mem_access()

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[xen staging] x86/mm: change default value for suppress #VE in set_mem_access()

patchbot
commit eea4ec2b66dad87ec745778ab9f00e12ef0f2760
Author:     Vlad Ioan Topan <[hidden email]>
AuthorDate: Wed Sep 12 09:50:00 2018 +0200
Commit:     Jan Beulich <[hidden email]>
CommitDate: Wed Sep 12 16:34:07 2018 +0200

    x86/mm: change default value for suppress #VE in set_mem_access()
   
    The default value for the "suppress #VE" bit set by set_mem_access()
    currently depends on whether the call is made from the same domain (the
    bit is set when called from another domain and cleared if called from
    the same domain). This patch changes that behavior to inherit the old
    suppress #VE bit value if it is already set and to set it to 1
    otherwise, which is safer and more reliable.
   
    Signed-off-by: Vlad Ioan Topan <[hidden email]>
    Signed-off-by: Adrian Pop <[hidden email]>
    Acked-by: Tamas K Lengyel <[hidden email]>
---
 xen/arch/x86/mm/mem_access.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm/mem_access.c b/xen/arch/x86/mm/mem_access.c
index a8b3e99ec4..c980f1744d 100644
--- a/xen/arch/x86/mm/mem_access.c
+++ b/xen/arch/x86/mm/mem_access.c
@@ -285,8 +285,11 @@ int p2m_set_altp2m_mem_access(struct domain *d, struct p2m_domain *hp2m,
         }
     }
 
-    return ap2m->set_entry(ap2m, gfn, mfn, PAGE_ORDER_4K, t, a,
-                           current->domain != d);
+    /*
+     * Inherit the old suppress #VE bit value if it is already set, or set it
+     * to 1 otherwise
+     */
+    return ap2m->set_entry(ap2m, gfn, mfn, PAGE_ORDER_4K, t, a, -1);
 }
 
 static int set_mem_access(struct domain *d, struct p2m_domain *p2m,
--
generated by git-patchbot for /home/xen/git/xen.git#staging

_______________________________________________
Xen-changelog mailing list
[hidden email]
https://lists.xenproject.org/xen-changelog