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.
Signed-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>
Acked-by: Julien Grall <julien.grall@arm.com>
/*
* 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.