aboutsummaryrefslogtreecommitdiffstats
path: root/xen
diff options
context:
space:
mode:
authorAndres Lagar-Cavilla <andres@lagarcavilla.org>2012-02-02 12:22:34 +0000
committerAndres Lagar-Cavilla <andres@lagarcavilla.org>2012-02-02 12:22:34 +0000
commit7c72f35669edf57b45efbc2526236e77ce21c206 (patch)
tree302e7570668e5871a0e84924c0cc8a7fd64216d3 /xen
parent58fdfc4602dafc7bd0d20b11cc2ad74680f50e74 (diff)
downloadxen-7c72f35669edf57b45efbc2526236e77ce21c206.tar.gz
xen-7c72f35669edf57b45efbc2526236e77ce21c206.tar.bz2
xen-7c72f35669edf57b45efbc2526236e77ce21c206.zip
x86/mm: Make sharing ASSERT check more accurate
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Signed-off-by: Tim Deegan <tim@xen.org> Committed-by: Tim Deegan <tim@xen.org>
Diffstat (limited to 'xen')
-rw-r--r--xen/arch/x86/mm/mem_sharing.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index 7b089a0a64..539c35b6f8 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -197,7 +197,10 @@ static struct page_info* mem_sharing_lookup(unsigned long mfn)
struct page_info* page = mfn_to_page(_mfn(mfn));
if ( page_get_owner(page) == dom_cow )
{
- ASSERT(page->u.inuse.type_info & PGT_type_mask);
+ /* Count has to be at least two, because we're called
+ * with the mfn locked (1) and this is supposed to be
+ * a shared page (1). */
+ ASSERT((page->u.inuse.type_info & PGT_count_mask) >= 2);
ASSERT(get_gpfn_from_mfn(mfn) == SHARED_M2P_ENTRY);
return page;
}