linux/arch/x86/xen
Boris Ostrovsky d7f8f48d1e xen/p2m: Don't call get_balloon_scratch_page() twice, keep interrupts disabled for multicalls
m2p_remove_override() calls get_balloon_scratch_page() in
MULTI_update_va_mapping() even though it already has pointer to this page from
the earlier call (in scratch_page). This second call doesn't have a matching
put_balloon_scratch_page() thus not restoring preempt count back. (Also, there
is no put_balloon_scratch_page() in the error path.)

In addition, the second multicall uses __xen_mc_entry() which does not disable
interrupts. Rearrange xen_mc_* calls to keep interrupts off while performing
multicalls.

This commit fixes a regression introduced by:

commit ee0726407f
Author: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date:   Tue Jul 23 17:23:54 2013 +0000

    xen/m2p: use GNTTABOP_unmap_and_replace to reinstate the original mapping

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2013-09-09 10:50:52 +00:00
..
apic.c
debugfs.c
debugfs.h
enlighten.c xen/pvhvm: Initialize xen panic handler for PVHVM guests 2013-08-20 15:37:03 -04:00
grant-table.c
irq.c x86/xen: disable premption when enabling local irqs 2013-08-20 10:02:03 -04:00
Kconfig x86: Make Linux guest support optional 2013-03-04 13:14:25 -08:00
Makefile
mmu.c Merge branch 'x86-kaslr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-04-30 08:37:24 -07:00
mmu.h
multicalls.c
multicalls.h
p2m.c xen/p2m: Don't call get_balloon_scratch_page() twice, keep interrupts disabled for multicalls 2013-09-09 10:50:52 +00:00
pci-swiotlb-xen.c
platform-pci-unplug.c
setup.c x86/xen: during early setup, only 1:1 map the ISA region 2013-08-20 10:12:29 -04:00
smp.c xen: Support 64-bit PV guest receiving NMIs 2013-08-09 10:55:47 -04:00
smp.h xen: Clean up apic ipi interface 2013-05-29 09:04:21 -04:00
spinlock.c x86: delete __cpuinit usage from all x86 files 2013-07-14 19:36:56 -04:00
suspend.c Revert "xen PVonHVM: use E820_Reserved area for shared_info" 2013-02-14 21:29:31 -05:00
time.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
trace.c
vdso.h
vga.c
xen-asm_32.S x86/xen: don't assume %ds is usable in xen_iret for 32-bit PVOPS. 2013-02-13 15:40:30 -05:00
xen-asm_64.S
xen-asm.h
xen-asm.S
xen-head.S
xen-ops.h x86: delete __cpuinit usage from all x86 files 2013-07-14 19:36:56 -04:00