diff options
author | Tim Deegan <tim@xen.org> | 2012-03-15 11:40:51 +0000 |
---|---|---|
committer | Tim Deegan <tim@xen.org> | 2012-03-15 11:40:51 +0000 |
commit | 2daf35021672e3e94341a8f6c929df68cb10dbf1 (patch) | |
tree | 779bfe832de9598b6fed70aece51ce4da39d2527 /xen/common/memory.c | |
parent | 90e88dbae3bf93415fc40654c8ca213523ea556f (diff) | |
download | xen-2daf35021672e3e94341a8f6c929df68cb10dbf1.tar.gz xen-2daf35021672e3e94341a8f6c929df68cb10dbf1.tar.bz2 xen-2daf35021672e3e94341a8f6c929df68cb10dbf1.zip |
mm: guest_remove_page() should not populate or unshare.
guest_remove_page() ought to use get_gfn_query() to look up the
current state of the gfn. Otherwise it might populate or unshare
the gfn just before dropping it.
Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
Diffstat (limited to 'xen/common/memory.c')
-rw-r--r-- | xen/common/memory.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/common/memory.c b/xen/common/memory.c index 907c6fdbde..3f02380fdf 100644 --- a/xen/common/memory.c +++ b/xen/common/memory.c @@ -162,7 +162,7 @@ int guest_remove_page(struct domain *d, unsigned long gmfn) unsigned long mfn; #ifdef CONFIG_X86 - mfn = mfn_x(get_gfn(d, gmfn, &p2mt)); + mfn = mfn_x(get_gfn_query(d, gmfn, &p2mt)); if ( unlikely(p2m_is_paging(p2mt)) ) { guest_physmap_remove_page(d, gmfn, mfn, 0); |