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

[Xen-changelog] [xen master] arm/p2m: Fix regression during domain shutdown with active mem_access



commit ce7d99d69fb669110d346bda371306095f82d1e6
Author:     Tamas K Lengyel <tamas.lengyel@xxxxxxxxxxxx>
AuthorDate: Wed Jan 25 09:12:01 2017 -0700
Commit:     Stefano Stabellini <sstabellini@xxxxxxxxxx>
CommitDate: Thu Jan 26 17:41:41 2017 -0800

    arm/p2m: Fix regression during domain shutdown with active mem_access
    
    The change in commit 438c5fe4f0c introduced a regression for domains where
    mem_acces is or was active. When relinquish_p2m_mapping attempts to clear
    a page where the order is not 0 the following ASSERT is triggered:
    
        ASSERT(!p2m->mem_access_enabled || page_order == 0);
    
    This regression was unfortunately not caught during testing in preparation
    for the 4.8 release.
    
    In this patch we adjust the ASSERT to not trip when the domain
    is being shutdown.
    
    Ideally this fix would be part of Xen 4.8.1.
    
    Signed-off-by: Tamas K Lengyel <tamas.lengyel@xxxxxxxxxxxx>
    Acked-by: Julien Grall <julien.grall@xxxxxxx>
---
 xen/arch/arm/p2m.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 09ceb37..7762f45 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -991,9 +991,10 @@ static int __p2m_set_entry(struct p2m_domain *p2m,
 
     /*
      * The radix-tree can only work on 4KB. This is only used when
-     * memaccess is enabled.
+     * memaccess is enabled and during shutdown.
      */
-    ASSERT(!p2m->mem_access_enabled || page_order == 0);
+    ASSERT(!p2m->mem_access_enabled || page_order == 0 ||
+           p2m->domain->is_dying);
     /*
      * The access type should always be p2m_access_rwx when the mapping
      * is removed.
--
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®.