linux/arch/x86/xen
Ian Campbell 817a824b75 x86, xen: Disable highmem PTE allocation even when CONFIG_HIGHPTE=y
There's a path in the pagefault code where the kernel deliberately
breaks its own locking rules by kmapping a high pte page without
holding the pagetable lock (in at least page_check_address). This
breaks Xen's ability to track the pinned/unpinned state of the
page. There does not appear to be a viable workaround for this
behaviour so simply disable HIGHPTE for all Xen guests.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
LKML-Reference: <1267204562-11844-1-git-send-email-ian.campbell@citrix.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Pasi Kärkkäinen <pasik@iki.fi>
Cc: <stable@kernel.org> # .32.x: 14315592: Allow highmem user page tables to be disabled at boot time
Cc: <stable@kernel.org> # .32.x
Cc: <xen-devel@lists.xensource.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-02-27 14:41:01 -08:00
..
debugfs.c const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
debugfs.h xen: add debugfs support 2008-08-21 13:52:58 +02:00
enlighten.c x86, xen: Disable highmem PTE allocation even when CONFIG_HIGHPTE=y 2010-02-27 14:41:01 -08:00
grant-table.c xen: make grant table arch portable 2008-04-24 23:57:32 +02:00
irq.c x86: Move irq_init to x86_init_ops 2009-08-31 09:35:45 +02:00
Kconfig x86: remove the Voyager 32-bit subarch 2009-02-23 00:54:01 +01:00
Makefile xen: make -fstack-protector work under Xen 2009-09-09 16:37:39 -07:00
mmu.c x86, xen: Disable highmem PTE allocation even when CONFIG_HIGHPTE=y 2010-02-27 14:41:01 -08:00
mmu.h x86: Move paravirt pagetable_setup to x86_init_ops 2009-08-31 09:35:45 +02:00
multicalls.c x86, xen: do multicall callbacks with interrupts disabled 2009-02-16 08:56:41 +01:00
multicalls.h Merge commit 'v2.6.29-rc4' into core/percpu 2009-02-09 14:58:11 +01:00
setup.c xen: reserve Xen start_info rather than e820 reserving 2009-05-08 10:51:03 +02:00
smp.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-12-14 09:58:24 -08:00
spinlock.c locking: Convert raw_spinlock to arch_spinlock 2009-12-14 23:55:32 +01:00
suspend.c xen: call clock resume notifier on all CPUs 2009-12-03 11:14:55 -08:00
time.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-12-14 09:58:24 -08:00
vdso.h
xen-asm_32.S x86: style cleanups for xen assemblies 2009-02-05 20:25:41 +01:00
xen-asm_64.S xen: use iret for return from 64b kernel to 32b usermode 2009-12-03 11:14:54 -08:00
xen-asm.h xen: make direct versions of irq_enable/disable/save/restore to common code 2009-02-04 16:59:04 -08:00
xen-asm.S x86: style cleanups for xen assemblies 2009-02-05 20:25:41 +01:00
xen-head.S x86: use _types.h headers in asm where available 2009-02-13 11:35:01 -08:00
xen-ops.h xen: correctly restore pfn_to_mfn_list_list after resume 2009-12-03 11:14:51 -08:00