[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 |