OpenCloudOS-Kernel/drivers/virtio
Michael S. Tsirkin 3ccc9372ed virtio_balloon: fix handling of PAGE_SIZE != 4k
As reported by David Gibson, current code handles PAGE_SIZE != 4k
completely wrong which can lead to guest memory corruption errors:

- page_to_balloon_pfn is wrong: e.g. on system with 64K page size
 it gives the same pfn value for 16 different pages.

- we also need to convert back to linux pfns when we free.

- for each linux page we need to tell host about multiple balloon
  pages, but code only adds one pfn to the array.

This patch fixes all that, tested with a 64k ppc64 kernel.

Reported-by: David Gibson <david@gibson.dropbear.id.au>
Tested-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2012-04-15 11:51:06 +03:00
..
Kconfig virtio: add HAS_IOMEM dependency to MMIO platform bus driver 2011-11-24 13:04:47 +10:30
Makefile virtio: Add platform bus driver for memory mapped virtio device 2011-11-02 11:41:01 +10:30
config.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
virtio.c virtio: Add module.h to drivers/virtio users. 2011-10-31 19:32:14 -04:00
virtio_balloon.c virtio_balloon: fix handling of PAGE_SIZE != 4k 2012-04-15 11:51:06 +03:00
virtio_mmio.c virtio: harsher barriers for rpmsg. 2012-01-12 15:44:42 +10:30
virtio_pci.c virtio-pci: switch to PM ops macro to initialise PM functions 2012-03-31 08:09:51 +05:30
virtio_ring.c virtio: correct the memory barrier in virtqueue_kick_prepare() 2012-01-28 08:10:23 +10:30