linux/drivers/xen
David Vrabel 3fcfc77681 xen/balloon: set ballooned out pages as invalid in p2m
commit fb9a0c4436 upstream.

Since cd9151e26d (xen/balloon: set a
mapping for ballooned out pages), a ballooned out page had its entry
in the p2m set to the MFN of one of the scratch pages.  This means
that the p2m will contain many entries pointing to the same MFN.

During a domain save, these many-to-one entries are not identified as
such and the scratch page is saved multiple times. On restore the
ballooned pages are populated with new frames and the domain may use
up its allocation before all pages can be restored.

Since the original fix only needed to keep a mapping for the ballooned
page it is safe to set ballooned out pages as INVALID_P2M_ENTRY in the
p2m (as they were before). Thus preventing them from being saved and
re-populated on restore.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reported-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
Tested-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2014-07-28 08:05:57 -07:00
..
events xen/events/fifo: correctly align bitops 2014-05-31 13:20:29 -07:00
xen-pciback xen: Convert printks to pr_<level> 2013-06-28 11:19:58 -04:00
xenbus xen/pvh: Piggyback on PVHVM XenBus. 2014-01-06 10:44:23 -05:00
xenfs xen: Convert printks to pr_<level> 2013-06-28 11:19:58 -04:00
acpi.c xen / ACPI: notify xen when reduced hardware sleep is available 2013-07-31 14:22:35 +02:00
balloon.c xen/balloon: set ballooned out pages as invalid in p2m 2014-07-28 08:05:57 -07:00
biomerge.c xen: using EXPORT_SYMBOL requires including export.h 2012-01-18 15:37:49 -08:00
cpu_hotplug.c xen: Convert printks to pr_<level> 2013-06-28 11:19:58 -04:00
dbgp.c xen: Use dev_is_pci() to check whether it is pci device 2014-01-07 09:53:33 -05:00
evtchn.c xen/evtchn: support more than 4096 ports 2014-01-06 10:07:50 -05:00
fallback.c xen-pciback: notify hypervisor about devices intended to be assigned to guests 2013-03-22 10:20:55 -04:00
features.c xen: clean up asm/xen/hypervisor.h 2008-12-16 21:50:31 +01:00
gntalloc.c xen: Convert printks to pr_<level> 2013-06-28 11:19:58 -04:00
gntdev.c Revert "xen/grant-table: Avoid m2p_override during mapping" 2014-02-03 06:44:49 -05:00
grant-table.c Revert "xen/grant-table: Avoid m2p_override during mapping" 2014-02-03 06:44:49 -05:00
Kconfig Features: 2014-01-22 22:00:18 -08:00
Makefile ia64/xen: Remove Xen support for ia64 even more 2014-02-11 10:12:37 -05:00
manage.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-07-06 14:09:38 -07:00
mcelog.c xen: Convert printks to pr_<level> 2013-06-28 11:19:58 -04:00
pci.c xen/pci: Fix build on non-x86 2014-01-06 10:07:30 -05:00
pcpu.c xen: Convert printks to pr_<level> 2013-06-28 11:19:58 -04:00
platform-pci.c xen-platform: fix error return code in platform_pci_init() 2014-01-07 09:59:51 -05:00
privcmd.c xen: privcmd: do not return pages which we have failed to unmap 2013-12-06 17:55:56 +00:00
privcmd.h xen: Add privcmd device driver 2011-12-16 13:29:31 -05:00
swiotlb-xen.c xen: swiotlb: handle sizeof(dma_addr_t) != sizeof(phys_addr_t) 2014-01-30 12:54:20 +00:00
sys-hypervisor.c xen: sysfs: fix build warning. 2012-10-19 15:17:51 -04:00
tmem.c Bug-fixes: 2013-07-03 13:12:42 -07:00
xen-acpi-cpuhotplug.c Merge branch 'acpi-cleanup' into acpi-hotplug 2013-12-07 01:05:17 +01:00
xen-acpi-memhotplug.c Merge branch 'acpi-cleanup' into acpi-hotplug 2013-12-07 01:05:17 +01:00
xen-acpi-pad.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
xen-acpi-processor.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
xen-balloon.c xen: Convert printks to pr_<level> 2013-06-28 11:19:58 -04:00
xen-selfballoon.c drivers: xen: deaggressive selfballoon driver 2014-01-31 09:48:43 -05:00
xen-stub.c xen/acpi: remove redundant acpi/acpi_drivers.h include 2013-03-11 13:53:02 -04:00