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
commit6623226237f1c2db19ed5b91b6dca4d1f8a6f8d7 (patch)
tree0006bb2e9ab9f1192301555d06c2727661231222 /xen
parentaf518d3ea10ea088182525f24243d8ad29ecf2ba (diff)
downloadxen-6623226237f1c2db19ed5b91b6dca4d1f8a6f8d7.tar.gz
xen-6623226237f1c2db19ed5b91b6dca4d1f8a6f8d7.tar.bz2
xen-6623226237f1c2db19ed5b91b6dca4d1f8a6f8d7.zip
x86/mm: Don't fail to nominate for paging on type flag, rather look at type count
Xen doesn't clean the type flag when dropping the type count for a page to zero. So, looking at the type flag when nominating a page for paging it's incorrect. Look at the type count instead. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Signed-off-by: Adin Scannell <adin@scannell.ca> Acked-by: Tim Deegan <tim@xen.org> Committed-by: Tim Deegan <tim@xen.org>
Diffstat (limited to 'xen')
-rw-r--r--xen/arch/x86/mm/p2m.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index 31a10d8a25..ded33853dc 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -759,7 +759,7 @@ int p2m_mem_paging_nominate(struct domain *d, unsigned long gfn)
(1 | PGC_allocated) )
goto out;
- if ( (page->u.inuse.type_info & PGT_type_mask) != PGT_none )
+ if ( (page->u.inuse.type_info & PGT_count_mask) != 0 )
goto out;
/* Fix p2m entry */
@@ -820,7 +820,7 @@ int p2m_mem_paging_evict(struct domain *d, unsigned long gfn)
(2 | PGC_allocated) )
goto out_put;
- if ( (page->u.inuse.type_info & PGT_type_mask) != PGT_none )
+ if ( (page->u.inuse.type_info & PGT_count_mask) != 0 )
goto out_put;
/* Decrement guest domain's ref count of the page */