linux/drivers/xen
Wei Liu 09ed3d5ba0 xen/balloon: flush persistent kmaps in correct position
Xen balloon driver will update ballooned out pages' P2M entries to point
to scratch page for PV guests. In 24f69373e2 ("xen/balloon: don't alloc
page while non-preemptible", kmap_flush_unused was moved after updating
P2M table. In that case for 32 bit PV guest we might end up with

  P2M    X -----> S  (S is mfn of balloon scratch page)
  M2P    Y -----> X  (Y is mfn in persistent kmap entry)

kmap_flush_unused() iterates through all the PTEs in the kmap address
space, using pte_to_page() to obtain the page. If the p2m and the m2p
are inconsistent the incorrect page is returned.  This will clear
page->address on the wrong page which may cause subsequent oopses if
that page is currently kmap'ed.

Move the flush back between get_page and __set_phys_to_machine to fix
this.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Cc: stable@vger.kernel.org # 3.12+
2014-03-25 10:38:30 +00:00
..
events xen/events: bind all new interdomain events to VCPU0 2014-02-11 10:12:34 -05:00
xen-pciback
xenbus xen/pvh: Piggyback on PVHVM XenBus. 2014-01-06 10:44:23 -05:00
xenfs
acpi.c
balloon.c xen/balloon: flush persistent kmaps in correct position 2014-03-25 10:38:30 +00:00
biomerge.c
cpu_hotplug.c
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
features.c
gntalloc.c
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
mcelog.c
pci.c xen/pci: Fix build on non-x86 2014-01-06 10:07:30 -05:00
pcpu.c
platform-pci.c xen-platform: fix error return code in platform_pci_init() 2014-01-07 09:59:51 -05:00
privcmd.c
privcmd.h
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
tmem.c
xen-acpi-cpuhotplug.c
xen-acpi-memhotplug.c
xen-acpi-pad.c
xen-acpi-processor.c
xen-balloon.c
xen-selfballoon.c drivers: xen: deaggressive selfballoon driver 2014-01-31 09:48:43 -05:00
xen-stub.c