|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen staging] x86/mem_sharing: aquire extra references for pages with correct domain
commit bad2c180988886e3232d2df24ecfc31b0cd51033
Author: Tamas K Lengyel <tamas@xxxxxxxxxxxxx>
AuthorDate: Thu Apr 25 09:32:50 2019 -0600
Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Mon May 13 10:35:37 2019 +0100
x86/mem_sharing: aquire extra references for pages with correct domain
Patch 0502e0adae2 "x86: correct instances of PGC_allocated clearing"
introduced
grabbing extra references for pages that drop references tied to
PGC_allocated.
However, these pages are actually owned by dom_cow, resulting both sharing
and
unsharing breaking.
Signed-off-by: Tamas K Lengyel <tamas@xxxxxxxxxxxxx>
Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
xen/arch/x86/mm/mem_sharing.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index 03aafa57a6..f16a3f5324 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -965,7 +965,7 @@ static int share_pages(struct domain *sd, gfn_t sgfn,
shr_handle_t sh,
}
/* Acquire an extra reference, for the freeing below to be safe. */
- if ( !get_page(cpage, cd) )
+ if ( !get_page(cpage, dom_cow) )
{
ret = -EOVERFLOW;
mem_sharing_page_unlock(secondpg);
@@ -1171,7 +1171,7 @@ int __mem_sharing_unshare_page(struct domain *d,
mem_sharing_page_unlock(page);
if ( last_gfn )
{
- if ( !get_page(page, d) )
+ if ( !get_page(page, dom_cow) )
{
put_gfn(d, gfn);
domain_crash(d);
--
generated by git-patchbot for /home/xen/git/xen.git#staging
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |