linux/arch
Zachary Amsden 7b35520243 [PATCH] i386: Profile pc badness
Profile_pc was broken when using paravirtualization because the
assumption the kernel was running at CPL 0 was violated, causing
bad logic to read a random value off the stack.

The only way to be in kernel lock functions is to be in kernel
code, so validate that assumption explicitly by checking the CS
value.  We don't want to be fooled by BIOS / APM segments and
try to read those stacks, so only match KERNEL_CS.

I moved some stuff in segment.h to make it prettier.

Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Andi Kleen <ak@suse.de>
2007-02-13 13:26:21 +01:00
..
alpha [PATCH] Dynamic kernel command-line: alpha 2007-02-12 09:48:37 -08:00
arm [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
arm26 [PATCH] Dynamic kernel command-line: arm26 2007-02-12 09:48:37 -08:00
avr32 [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
cris [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
frv [PATCH] Dynamic kernel command-line: frv 2007-02-12 09:48:37 -08:00
h8300 [PATCH] Dynamic kernel command-line: h8300 2007-02-12 09:48:38 -08:00
i386 [PATCH] i386: Profile pc badness 2007-02-13 13:26:21 +01:00
ia64 [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
m32r [PATCH] Dynamic kernel command-line: m32r 2007-02-12 09:48:38 -08:00
m68k [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
m68knommu [PATCH] Dynamic kernel command-line: m68knommu 2007-02-12 09:48:38 -08:00
mips [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
parisc [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
powerpc [PATCH] mark struct inode_operations const 1 2007-02-12 09:48:46 -08:00
ppc [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
s390 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2007-02-12 09:57:44 -08:00
sh [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
sh64 [PATCH] Dynamic kernel command-line: sh64 2007-02-12 09:48:39 -08:00
sparc [SPARC]: Re-export saved_command_line to modules. 2007-02-12 15:15:48 -08:00
sparc64 [SPARC]: Re-export saved_command_line to modules. 2007-02-12 15:15:48 -08:00
um [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
v850 [PATCH] mark struct file_operations const 2 2007-02-12 09:48:44 -08:00
x86_64 [PATCH] x86-64: do not always end the stack trace with ULONG_MAX 2007-02-13 13:26:21 +01:00
xtensa [PATCH] Dynamic kernel command-line: xtensa 2007-02-12 09:48:39 -08:00