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.16.35~2445 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3b05c90406b3bd2aafc5f43d02fb97b807c55dc4;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 [ luis: backported to 3.16: - drop changes to do_bounds() ] Signed-off-by: Luis Henriques --- diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index 07ab8e9733c5a..871f43ae47efb 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@ -483,7 +483,7 @@ dotraplinkage void 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! */