summaryrefslogtreecommitdiffstats
path: root/arch/x86_64/lib/clear_page.S
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-07-28 14:44:42 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-28 19:28:00 -0700
commitd5a2601734bcc740ee78dc4cb0c56b5687da7bd9 (patch)
tree42146e7eda57909a475ad69cee5cacbf39033cff /arch/x86_64/lib/clear_page.S
parent5d2edfe004f5d0f3d805967bd6b4ada95e6aa419 (diff)
downloadlinux-d5a2601734bcc740ee78dc4cb0c56b5687da7bd9.tar.gz
linux-d5a2601734bcc740ee78dc4cb0c56b5687da7bd9.tar.bz2
linux-d5a2601734bcc740ee78dc4cb0c56b5687da7bd9.zip
[PATCH] i386/x86-64: Add user_mode checks to profile_pc for oprofile
Fixes a obscure user space triggerable crash during oprofiling. Oprofile calls profile_pc from NMIs even when user_mode(regs) is not true and the program counter is inside the kernel lock section. This opens a race - when a user program jumps to a kernel lock address and a NMI happens before the illegal page fault exception is raised and the program has a unmapped esp or ebp then the kernel could oops. NMIs have a higher priority than exceptions so that could happen. Add user_mode checks to i386/x86-64 profile_pc to prevent that. Cc: John Levon <levon@movementarian.org> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64/lib/clear_page.S')
0 files changed, 0 insertions, 0 deletions