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

[Xen-changelog] [xen master] altp2m: don't attempt to unshare pages during change_altp2m_gfn op



commit 31ba5a9b92ac00c135e46f54052336945b77f159
Author:     Tamas K Lengyel <tamas.lengyel@xxxxxxxxxxxx>
AuthorDate: Thu Oct 13 18:00:47 2016 -0600
Commit:     George Dunlap <george.dunlap@xxxxxxxxxx>
CommitDate: Thu Oct 20 17:22:44 2016 +0100

    altp2m: don't attempt to unshare pages during change_altp2m_gfn op
    
    Attempting to change gfn mappings with altp2m on a memory shared page 
results
    in a lock-order violation (mm locking order violation: 282 > 254), which
    crashes the hypervisor. Don't attempt to automatically unshare such pages 
and
    just fall back to failing the op if the page type is not correct.
    
    Signed-off-by: Tamas K Lengyel <tamas.lengyel@xxxxxxxxxxxx>
    Reviewed-by: George Dunlap <george.dunlap@xxxxxxxxxx>
    Release-acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
 xen/arch/x86/mm/p2m.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index 9526fff..6a45185 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -2628,7 +2628,7 @@ int p2m_change_altp2m_gfn(struct domain *d, unsigned int 
idx,
     if ( !mfn_valid(mfn) )
     {
         mfn = __get_gfn_type_access(hp2m, gfn_x(old_gfn), &t, &a,
-                                    P2M_ALLOC | P2M_UNSHARE, &page_order, 0);
+                                    P2M_ALLOC, &page_order, 0);
 
         if ( !mfn_valid(mfn) || t != p2m_ram_rw )
             goto out;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

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