From: Andy Lutomirski Date: Tue, 10 Mar 2015 00:42:31 +0000 (-0700) Subject: x86/asm/entry/32: Fix user_mode() misuses X-Git-Tag: v3.4.108~66 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f424765a01e1a0b6d4000c6917506f7f6a0ea63c;p=thirdparty%2Fkernel%2Fstable.git x86/asm/entry/32: Fix user_mode() misuses commit 394838c96013ba414a24ffe7a2a593a9154daadf upstream. The one in do_debug() is probably harmless, but better safe than sorry. Signed-off-by: Andy Lutomirski Cc: Borislav Petkov Cc: Dave Hansen Cc: H. Peter Anvin Cc: Linus Torvalds Cc: Thomas Gleixner Link: http://lkml.kernel.org/r/d67deaa9df5458363623001f252d1aee3215d014.1425948056.git.luto@amacapital.net Signed-off-by: Ingo Molnar [lizf: Backported to 3.4: drop the change to do_bounds()] Signed-off-by: Zefan Li --- diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index 9bfe95fda57c5..adc049fef8ca1 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@ -435,7 +435,7 @@ dotraplinkage void __kprobes do_debug(struct pt_regs *regs, long error_code) * then it's very likely the result of an icebp/int01 trap. * User wants a sigtrap for that. */ - if (!dr6 && user_mode(regs)) + if (!dr6 && user_mode_vm(regs)) user_icebp = 1; /* Catch kmemcheck conditions first of all! */