Merge tag 'stable/for-linus-3.16-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
Pull Xen fixes from Konrad Rzeszutek Wilk: "Two fixes found during migration of PV guests. David would be the one doing this pull but he is on vacation. Fixes: - fix console deadlock when resuming PV guests - fix regression hit when ballooning and resuming PV guests" * tag 'stable/for-linus-3.16-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen/balloon: set ballooned out pages as invalid in p2m xen/manage: fix potential deadlock when resuming the console
This commit is contained in:
@@ -426,20 +426,18 @@ static enum bp_state decrease_reservation(unsigned long nr_pages, gfp_t gfp)
|
||||
* p2m are consistent.
|
||||
*/
|
||||
if (!xen_feature(XENFEAT_auto_translated_physmap)) {
|
||||
unsigned long p;
|
||||
struct page *scratch_page = get_balloon_scratch_page();
|
||||
|
||||
if (!PageHighMem(page)) {
|
||||
struct page *scratch_page = get_balloon_scratch_page();
|
||||
|
||||
ret = HYPERVISOR_update_va_mapping(
|
||||
(unsigned long)__va(pfn << PAGE_SHIFT),
|
||||
pfn_pte(page_to_pfn(scratch_page),
|
||||
PAGE_KERNEL_RO), 0);
|
||||
BUG_ON(ret);
|
||||
}
|
||||
p = page_to_pfn(scratch_page);
|
||||
__set_phys_to_machine(pfn, pfn_to_mfn(p));
|
||||
|
||||
put_balloon_scratch_page();
|
||||
put_balloon_scratch_page();
|
||||
}
|
||||
__set_phys_to_machine(pfn, INVALID_P2M_ENTRY);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -88,7 +88,6 @@ static int xen_suspend(void *data)
|
||||
|
||||
if (!si->cancelled) {
|
||||
xen_irq_resume();
|
||||
xen_console_resume();
|
||||
xen_timer_resume();
|
||||
}
|
||||
|
||||
@@ -135,6 +134,10 @@ static void do_suspend(void)
|
||||
|
||||
err = stop_machine(xen_suspend, &si, cpumask_of(0));
|
||||
|
||||
/* Resume console as early as possible. */
|
||||
if (!si.cancelled)
|
||||
xen_console_resume();
|
||||
|
||||
raw_notifier_call_chain(&xen_resume_notifier, 0, NULL);
|
||||
|
||||
dpm_resume_start(si.cancelled ? PMSG_THAW : PMSG_RESTORE);
|
||||
|
||||
Reference in New Issue
Block a user