1
linux/arch
Jan Beulich 8c914cb704 [PATCH] x86_64: actively synchronize vmalloc area when registering certain callbacks
While the modular aspect of the respective i386 patch doesn't apply to
x86-64 (as the top level page directory entry is shared between modules
and the base kernel), handlers registered with register_die_notifier()
are still under similar constraints for touching ioremap()ed or
vmalloc()ed memory. The likelihood of this problem becoming visible is
of course significantly lower, as the assigned virtual addresses would
have to cross a 2**39 byte boundary. This is because the callback gets
invoked
(a) in the page fault path before the top level page table propagation
gets carried out (hence a fault to propagate the top level page table
entry/entries mapping to module's code/data would nest infinitly) and
(b) in the NMI path, where nested faults must absolutely not happen,
since otherwise the IRET from the nested fault re-enables NMIs,
potentially resulting in nested NMI occurences.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-25 09:10:53 -08:00
..
alpha [PATCH] remove set_page_count() outside mm/ 2006-03-22 07:54:02 -08:00
arm Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2006-03-25 08:48:48 -08:00
arm26 Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2006-03-25 08:48:48 -08:00
cris [PATCH] set_page_dirty() return value fixes 2006-03-24 07:33:26 -08:00
frv [PATCH] s/;;/;/g 2006-03-24 07:33:24 -08:00
h8300 [PATCH] kill include/linux/platform.h, default_idle() cleanup 2006-03-24 07:33:21 -08:00
i386 [PATCH] x86-64: Use -mtune=generic for generic kernels 2006-03-25 09:10:52 -08:00
ia64 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2006-03-25 08:49:25 -08:00
m32r Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2006-03-25 08:48:48 -08:00
m68k [PATCH] kill include/linux/platform.h, default_idle() cleanup 2006-03-24 07:33:21 -08:00
m68knommu [PATCH] kill include/linux/platform.h, default_idle() cleanup 2006-03-24 07:33:21 -08:00
mips [PATCH] sys_alarm() unsigned signed conversion fixup 2006-03-25 08:22:48 -08:00
parisc [PATCH] kill include/linux/platform.h, default_idle() cleanup 2006-03-24 07:33:21 -08:00
powerpc Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2006-03-25 08:48:48 -08:00
ppc Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2006-03-25 08:48:48 -08:00
s390 [PATCH] kill include/linux/platform.h, default_idle() cleanup 2006-03-24 07:33:21 -08:00
sh Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2006-03-25 08:48:48 -08:00
sh64 [PATCH] more for_each_cpu() conversions 2006-03-23 07:38:17 -08:00
sparc [SPARC]: Try to start getting SMP back into shape. 2006-03-23 22:36:19 -08:00
sparc64 [PATCH] kconfig: clarify memory debug options 2006-03-25 08:22:54 -08:00
um Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2006-03-25 08:48:48 -08:00
v850 [PATCH] kill include/linux/platform.h, default_idle() cleanup 2006-03-24 07:33:21 -08:00
x86_64 [PATCH] x86_64: actively synchronize vmalloc area when registering certain callbacks 2006-03-25 09:10:53 -08:00
xtensa [PATCH] more for_each_cpu() conversions 2006-03-23 07:38:17 -08:00