linux/drivers/xen
Joe Jin 71bae8e9a9 xen-swiotlb: use actually allocated size on check physical continuous
commit 7250f422da upstream.

xen_swiotlb_{alloc,free}_coherent() allocate/free memory based on the
order of the pages and not size argument (bytes). This is inconsistent with
range_straddles_page_boundary and memset which use the 'size' value,
which may lead to not exchanging memory with Xen (range_straddles_page_boundary()
returned true). And then the call to xen_swiotlb_free_coherent() would
actually try to exchange the memory with Xen, leading to the kernel
hitting an BUG (as the hypercall returned an error).

This patch fixes it by making the 'size' variable be of the same size
as the amount of memory allocated.

Signed-off-by: Joe Jin <joe.jin@oracle.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Christoph Helwig <hch@lst.de>
Cc: Dongli Zhang <dongli.zhang@oracle.com>
Cc: John Sobecki <john.sobecki@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
[bwh: Backported to 3.16:
 - Use PAGE_SHIFT instead of XEN_PAGE_SHIFT
 - Adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2019-02-11 17:53:38 +00:00
..
events xen: Remove unnecessary BUG_ON from __unbind_from_irq() 2018-11-20 18:05:23 +00:00
xen-pciback xen/pciback: Fix conf_space read/write overlap check. 2016-08-22 22:38:18 +01:00
xenbus xenbus: don't look up transaction IDs for ordinary writes 2016-11-20 01:17:39 +00: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: before adding hotplugged memory, set frames to invalid 2015-04-13 16:48:56 +01:00
biomerge.c xen: fix bio vec merging 2017-09-15 18:30:18 +01: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 xen/gntdev: Use VM_MIXEDMAP instead of VM_IO to avoid NUMA balancing 2017-03-16 02:26:25 +00:00
grant-table.c x86/xen: safely map and unmap grant frames when in atomic context 2014-07-30 14:22:47 +01: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 xen: Add xen_arch_suspend() 2018-06-16 22:22:30 +01: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 drivers: xen: Include appropriate header file in pcpu.c 2014-02-28 15:26:08 -05:00
platform-pci.c drivers: xen: Mark function as static in platform-pci.c 2014-02-28 15:26:04 -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: use actually allocated size on check physical continuous 2019-02-11 17:53:38 +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 ACPI: Drop acpi_evaluate_hotplug_ost() and ACPI_HOTPLUG_OST 2014-02-22 00:50:49 +01:00
xen-acpi-memhotplug.c ACPI: Drop acpi_evaluate_hotplug_ost() and ACPI_HOTPLUG_OST 2014-02-22 00:50:49 +01:00
xen-acpi-pad.c ACPI / PAD / xen: use acpi_evaluate_ost() to replace open-coded version 2014-02-21 00:27:47 +01:00
xen-acpi-processor.c xen/acpi: off by one in read_acpi_id() 2018-10-21 08:45:06 +01:00
xen-balloon.c xen: Convert printks to pr_<level> 2013-06-28 11:19:58 -04:00
xen-selfballoon.c drivers:xen-selfballoon:reset 'frontswap_inertia_counter' after frontswap_shrink 2014-02-28 15:26:12 -05:00
xen-stub.c xen/acpi: remove redundant acpi/acpi_drivers.h include 2013-03-11 13:53:02 -04:00