diff options
author | Andy Lutomirski <luto@kernel.org> | 2015-03-18 21:33:33 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2015-03-23 06:14:17 -0400 |
commit | f39b6f0ef855a38ea17329a4e621ff97750dfcc2 (patch) | |
tree | cd48920fe79749ce00ee70c8ad44f3d6c89d6a48 | |
parent | efa704510342b81ae58d7b8a0c7f676a4289b603 (diff) |
x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()'
user_mode_vm() and user_mode() are now the same. Change all callers
of user_mode_vm() to user_mode().
The next patch will remove the definition of user_mode_vm.
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brad Spengler <spender@grsecurity.net>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/43b1f57f3df70df5a08b0925897c660725015554.1426728647.git.luto@kernel.org
[ Merged to a more recent kernel. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | arch/x86/kernel/alternative.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/crash.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/dumpstack.c | 4 | ||||
-rw-r--r-- | arch/x86/kernel/dumpstack_32.c | 4 | ||||
-rw-r--r-- | arch/x86/kernel/i387.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/irq_32.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/irq_64.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/kgdb.c | 4 | ||||
-rw-r--r-- | arch/x86/kernel/kprobes/core.c | 4 | ||||
-rw-r--r-- | arch/x86/kernel/process_32.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/ptrace.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/time.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/traps.c | 16 | ||||
-rw-r--r-- | arch/x86/kernel/uprobes.c | 2 | ||||
-rw-r--r-- | arch/x86/mm/fault.c | 6 | ||||
-rw-r--r-- | arch/x86/oprofile/backtrace.c | 2 | ||||
-rw-r--r-- | drivers/misc/sgi-xp/xpc_main.c | 2 |
17 files changed, 30 insertions, 30 deletions
diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c index af397cc98d05..5c993c94255e 100644 --- a/arch/x86/kernel/alternative.c +++ b/arch/x86/kernel/alternative.c | |||
@@ -715,7 +715,7 @@ int poke_int3_handler(struct pt_regs *regs) | |||
715 | if (likely(!bp_patching_in_progress)) | 715 | if (likely(!bp_patching_in_progress)) |
716 | return 0; | 716 | return 0; |
717 | 717 | ||
718 | if (user_mode_vm(regs) || regs->ip != (unsigned long)bp_int3_addr) | 718 | if (user_mode(regs) || regs->ip != (unsigned long)bp_int3_addr) |
719 | return 0; | 719 | return 0; |
720 | 720 | ||
721 | /* set up the specified breakpoint handler */ | 721 | /* set up the specified breakpoint handler */ |
diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c index aceb2f90c716..c76d3e37c6e1 100644 --- a/arch/x86/kernel/crash.c +++ b/arch/x86/kernel/crash.c | |||
@@ -105,7 +105,7 @@ static void kdump_nmi_callback(int cpu, struct pt_regs *regs) | |||
105 | #ifdef CONFIG_X86_32 | 105 | #ifdef CONFIG_X86_32 |
106 | struct pt_regs fixed_regs; | 106 | struct pt_regs fixed_regs; |
107 | 107 | ||
108 | if (!user_mode_vm(regs)) { | 108 | if (!user_mode(regs)) { |
109 | crash_fixup_ss_esp(&fixed_regs, regs); | 109 | crash_fixup_ss_esp(&fixed_regs, regs); |
110 | regs = &fixed_regs; | 110 | regs = &fixed_regs; |
111 | } | 111 | } |
diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c index cf3df1d8d039..ab3b65639a3e 100644 --- a/arch/x86/kernel/dumpstack.c +++ b/arch/x86/kernel/dumpstack.c | |||
@@ -278,7 +278,7 @@ int __die(const char *str, struct pt_regs *regs, long err) | |||
278 | print_modules(); | 278 | print_modules(); |
279 | show_regs(regs); | 279 | show_regs(regs); |
280 | #ifdef CONFIG_X86_32 | 280 | #ifdef CONFIG_X86_32 |
281 | if (user_mode_vm(regs)) { | 281 | if (user_mode(regs)) { |
282 | sp = regs->sp; | 282 | sp = regs->sp; |
283 | ss = regs->ss & 0xffff; | 283 | ss = regs->ss & 0xffff; |
284 | } else { | 284 | } else { |
@@ -307,7 +307,7 @@ void die(const char *str, struct pt_regs *regs, long err) | |||
307 | unsigned long flags = oops_begin(); | 307 | unsigned long flags = oops_begin(); |
308 | int sig = SIGSEGV; | 308 | int sig = SIGSEGV; |
309 | 309 | ||
310 | if (!user_mode_vm(regs)) | 310 | if (!user_mode(regs)) |
311 | report_bug(regs->ip, regs); | 311 | report_bug(regs->ip, regs); |
312 | 312 | ||
313 | if (__die(str, regs, err)) | 313 | if (__die(str, regs, err)) |
diff --git a/arch/x86/kernel/dumpstack_32.c b/arch/x86/kernel/dumpstack_32.c index 5abd4cd4230c..39891ff50d03 100644 --- a/arch/x86/kernel/dumpstack_32.c +++ b/arch/x86/kernel/dumpstack_32.c | |||
@@ -123,13 +123,13 @@ void show_regs(struct pt_regs *regs) | |||
123 | int i; | 123 | int i; |
124 | 124 | ||
125 | show_regs_print_info(KERN_EMERG); | 125 | show_regs_print_info(KERN_EMERG); |
126 | __show_regs(regs, !user_mode_vm(regs)); | 126 | __show_regs(regs, !user_mode(regs)); |
127 | 127 | ||
128 | /* | 128 | /* |
129 | * When in-kernel, we also print out the stack and code at the | 129 | * When in-kernel, we also print out the stack and code at the |
130 | * time of the fault.. | 130 | * time of the fault.. |
131 | */ | 131 | */ |
132 | if (!user_mode_vm(regs)) { | 132 | if (!user_mode(regs)) { |
133 | unsigned int code_prologue = code_bytes * 43 / 64; | 133 | unsigned int code_prologue = code_bytes * 43 / 64; |
134 | unsigned int code_len = code_bytes; | 134 | unsigned int code_len = code_bytes; |
135 | unsigned char c; | 135 | unsigned char c; |
diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c index d5651fce0b71..29c740deafec 100644 --- a/arch/x86/kernel/i387.c +++ b/arch/x86/kernel/i387.c | |||
@@ -68,7 +68,7 @@ static inline bool interrupted_kernel_fpu_idle(void) | |||
68 | static inline bool interrupted_user_mode(void) | 68 | static inline bool interrupted_user_mode(void) |
69 | { | 69 | { |
70 | struct pt_regs *regs = get_irq_regs(); | 70 | struct pt_regs *regs = get_irq_regs(); |
71 | return regs && user_mode_vm(regs); | 71 | return regs && user_mode(regs); |
72 | } | 72 | } |
73 | 73 | ||
74 | /* | 74 | /* |
diff --git a/arch/x86/kernel/irq_32.c b/arch/x86/kernel/irq_32.c index 28d28f5eb8f4..f9fd86a7fcc7 100644 --- a/arch/x86/kernel/irq_32.c +++ b/arch/x86/kernel/irq_32.c | |||
@@ -165,7 +165,7 @@ bool handle_irq(unsigned irq, struct pt_regs *regs) | |||
165 | if (unlikely(!desc)) | 165 | if (unlikely(!desc)) |
166 | return false; | 166 | return false; |
167 | 167 | ||
168 | if (user_mode_vm(regs) || !execute_on_irq_stack(overflow, desc, irq)) { | 168 | if (user_mode(regs) || !execute_on_irq_stack(overflow, desc, irq)) { |
169 | if (unlikely(overflow)) | 169 | if (unlikely(overflow)) |
170 | print_stack_overflow(); | 170 | print_stack_overflow(); |
171 | desc->handle_irq(irq, desc); | 171 | desc->handle_irq(irq, desc); |
diff --git a/arch/x86/kernel/irq_64.c b/arch/x86/kernel/irq_64.c index e4b503d5558c..394e643d7830 100644 --- a/arch/x86/kernel/irq_64.c +++ b/arch/x86/kernel/irq_64.c | |||
@@ -44,7 +44,7 @@ static inline void stack_overflow_check(struct pt_regs *regs) | |||
44 | u64 estack_top, estack_bottom; | 44 | u64 estack_top, estack_bottom; |
45 | u64 curbase = (u64)task_stack_page(current); | 45 | u64 curbase = (u64)task_stack_page(current); |
46 | 46 | ||
47 | if (user_mode_vm(regs)) | 47 | if (user_mode(regs)) |
48 | return; | 48 | return; |
49 | 49 | ||
50 | if (regs->sp >= curbase + sizeof(struct thread_info) + | 50 | if (regs->sp >= curbase + sizeof(struct thread_info) + |
diff --git a/arch/x86/kernel/kgdb.c b/arch/x86/kernel/kgdb.c index 7ec1d5f8d283..7fe3a9d377ea 100644 --- a/arch/x86/kernel/kgdb.c +++ b/arch/x86/kernel/kgdb.c | |||
@@ -126,11 +126,11 @@ char *dbg_get_reg(int regno, void *mem, struct pt_regs *regs) | |||
126 | #ifdef CONFIG_X86_32 | 126 | #ifdef CONFIG_X86_32 |
127 | switch (regno) { | 127 | switch (regno) { |
128 | case GDB_SS: | 128 | case GDB_SS: |
129 | if (!user_mode_vm(regs)) | 129 | if (!user_mode(regs)) |
130 | *(unsigned long *)mem = __KERNEL_DS; | 130 | *(unsigned long *)mem = __KERNEL_DS; |
131 | break; | 131 | break; |
132 | case GDB_SP: | 132 | case GDB_SP: |
133 | if (!user_mode_vm(regs)) | 133 | if (!user_mode(regs)) |
134 | *(unsigned long *)mem = kernel_stack_pointer(regs); | 134 | *(unsigned long *)mem = kernel_stack_pointer(regs); |
135 | break; | 135 | break; |
136 | case GDB_GS: | 136 | case GDB_GS: |
diff --git a/arch/x86/kernel/kprobes/core.c b/arch/x86/kernel/kprobes/core.c index 4e3d5a9621fe..24d079604fd5 100644 --- a/arch/x86/kernel/kprobes/core.c +++ b/arch/x86/kernel/kprobes/core.c | |||
@@ -602,7 +602,7 @@ int kprobe_int3_handler(struct pt_regs *regs) | |||
602 | struct kprobe *p; | 602 | struct kprobe *p; |
603 | struct kprobe_ctlblk *kcb; | 603 | struct kprobe_ctlblk *kcb; |
604 | 604 | ||
605 | if (user_mode_vm(regs)) | 605 | if (user_mode(regs)) |
606 | return 0; | 606 | return 0; |
607 | 607 | ||
608 | addr = (kprobe_opcode_t *)(regs->ip - sizeof(kprobe_opcode_t)); | 608 | addr = (kprobe_opcode_t *)(regs->ip - sizeof(kprobe_opcode_t)); |
@@ -1007,7 +1007,7 @@ int kprobe_exceptions_notify(struct notifier_block *self, unsigned long val, | |||
1007 | struct die_args *args = data; | 1007 | struct die_args *args = data; |
1008 | int ret = NOTIFY_DONE; | 1008 | int ret = NOTIFY_DONE; |
1009 | 1009 | ||
1010 | if (args->regs && user_mode_vm(args->regs)) | 1010 | if (args->regs && user_mode(args->regs)) |
1011 | return ret; | 1011 | return ret; |
1012 | 1012 | ||
1013 | if (val == DIE_GPF) { | 1013 | if (val == DIE_GPF) { |
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index 26c596d1ee07..c5e987022ca0 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c | |||
@@ -73,7 +73,7 @@ void __show_regs(struct pt_regs *regs, int all) | |||
73 | unsigned long sp; | 73 | unsigned long sp; |
74 | unsigned short ss, gs; | 74 | unsigned short ss, gs; |
75 | 75 | ||
76 | if (user_mode_vm(regs)) { | 76 | if (user_mode(regs)) { |
77 | sp = regs->sp; | 77 | sp = regs->sp; |
78 | ss = regs->ss & 0xffff; | 78 | ss = regs->ss & 0xffff; |
79 | gs = get_user_gs(regs); | 79 | gs = get_user_gs(regs); |
diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c index 1e125817cf9f..a7bc79480719 100644 --- a/arch/x86/kernel/ptrace.c +++ b/arch/x86/kernel/ptrace.c | |||
@@ -1415,7 +1415,7 @@ static void fill_sigtrap_info(struct task_struct *tsk, | |||
1415 | memset(info, 0, sizeof(*info)); | 1415 | memset(info, 0, sizeof(*info)); |
1416 | info->si_signo = SIGTRAP; | 1416 | info->si_signo = SIGTRAP; |
1417 | info->si_code = si_code; | 1417 | info->si_code = si_code; |
1418 | info->si_addr = user_mode_vm(regs) ? (void __user *)regs->ip : NULL; | 1418 | info->si_addr = user_mode(regs) ? (void __user *)regs->ip : NULL; |
1419 | } | 1419 | } |
1420 | 1420 | ||
1421 | void user_single_step_siginfo(struct task_struct *tsk, | 1421 | void user_single_step_siginfo(struct task_struct *tsk, |
diff --git a/arch/x86/kernel/time.c b/arch/x86/kernel/time.c index 25adc0e16eaa..d39c09119db6 100644 --- a/arch/x86/kernel/time.c +++ b/arch/x86/kernel/time.c | |||
@@ -30,7 +30,7 @@ unsigned long profile_pc(struct pt_regs *regs) | |||
30 | { | 30 | { |
31 | unsigned long pc = instruction_pointer(regs); | 31 | unsigned long pc = instruction_pointer(regs); |
32 | 32 | ||
33 | if (!user_mode_vm(regs) && in_lock_functions(pc)) { | 33 | if (!user_mode(regs) && in_lock_functions(pc)) { |
34 | #ifdef CONFIG_FRAME_POINTER | 34 | #ifdef CONFIG_FRAME_POINTER |
35 | return *(unsigned long *)(regs->bp + sizeof(long)); | 35 | return *(unsigned long *)(regs->bp + sizeof(long)); |
36 | #else | 36 | #else |
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index 1136961a679b..d4e265952102 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c | |||
@@ -112,7 +112,7 @@ enum ctx_state ist_enter(struct pt_regs *regs) | |||
112 | { | 112 | { |
113 | enum ctx_state prev_state; | 113 | enum ctx_state prev_state; |
114 | 114 | ||
115 | if (user_mode_vm(regs)) { | 115 | if (user_mode(regs)) { |
116 | /* Other than that, we're just an exception. */ | 116 | /* Other than that, we're just an exception. */ |
117 | prev_state = exception_enter(); | 117 | prev_state = exception_enter(); |
118 | } else { | 118 | } else { |
@@ -146,7 +146,7 @@ void ist_exit(struct pt_regs *regs, enum ctx_state prev_state) | |||
146 | /* Must be before exception_exit. */ | 146 | /* Must be before exception_exit. */ |
147 | preempt_count_sub(HARDIRQ_OFFSET); | 147 | preempt_count_sub(HARDIRQ_OFFSET); |
148 | 148 | ||
149 | if (user_mode_vm(regs)) | 149 | if (user_mode(regs)) |
150 | return exception_exit(prev_state); | 150 | return exception_exit(prev_state); |
151 | else | 151 | else |
152 | rcu_nmi_exit(); | 152 | rcu_nmi_exit(); |
@@ -158,7 +158,7 @@ void ist_exit(struct pt_regs *regs, enum ctx_state prev_state) | |||
158 | * | 158 | * |
159 | * IST exception handlers normally cannot schedule. As a special | 159 | * IST exception handlers normally cannot schedule. As a special |
160 | * exception, if the exception interrupted userspace code (i.e. | 160 | * exception, if the exception interrupted userspace code (i.e. |
161 | * user_mode_vm(regs) would return true) and the exception was not | 161 | * user_mode(regs) would return true) and the exception was not |
162 | * a double fault, it can be safe to schedule. ist_begin_non_atomic() | 162 | * a double fault, it can be safe to schedule. ist_begin_non_atomic() |
163 | * begins a non-atomic section within an ist_enter()/ist_exit() region. | 163 | * begins a non-atomic section within an ist_enter()/ist_exit() region. |
164 | * Callers are responsible for enabling interrupts themselves inside | 164 | * Callers are responsible for enabling interrupts themselves inside |
@@ -167,7 +167,7 @@ void ist_exit(struct pt_regs *regs, enum ctx_state prev_state) | |||
167 | */ | 167 | */ |
168 | void ist_begin_non_atomic(struct pt_regs *regs) | 168 | void ist_begin_non_atomic(struct pt_regs *regs) |
169 | { | 169 | { |
170 | BUG_ON(!user_mode_vm(regs)); | 170 | BUG_ON(!user_mode(regs)); |
171 | 171 | ||
172 | /* | 172 | /* |
173 | * Sanity check: we need to be on the normal thread stack. This | 173 | * Sanity check: we need to be on the normal thread stack. This |
@@ -384,7 +384,7 @@ dotraplinkage void do_bounds(struct pt_regs *regs, long error_code) | |||
384 | goto exit; | 384 | goto exit; |
385 | conditional_sti(regs); | 385 | conditional_sti(regs); |
386 | 386 | ||
387 | if (!user_mode_vm(regs)) | 387 | if (!user_mode(regs)) |
388 | die("bounds", regs, error_code); | 388 | die("bounds", regs, error_code); |
389 | 389 | ||
390 | if (!cpu_feature_enabled(X86_FEATURE_MPX)) { | 390 | if (!cpu_feature_enabled(X86_FEATURE_MPX)) { |
@@ -587,7 +587,7 @@ struct bad_iret_stack *fixup_bad_iret(struct bad_iret_stack *s) | |||
587 | /* Copy the remainder of the stack from the current stack. */ | 587 | /* Copy the remainder of the stack from the current stack. */ |
588 | memmove(new_stack, s, offsetof(struct bad_iret_stack, regs.ip)); | 588 | memmove(new_stack, s, offsetof(struct bad_iret_stack, regs.ip)); |
589 | 589 | ||
590 | BUG_ON(!user_mode_vm(&new_stack->regs)); | 590 | BUG_ON(!user_mode(&new_stack->regs)); |
591 | return new_stack; | 591 | return new_stack; |
592 | } | 592 | } |
593 | NOKPROBE_SYMBOL(fixup_bad_iret); | 593 | NOKPROBE_SYMBOL(fixup_bad_iret); |
@@ -637,7 +637,7 @@ dotraplinkage void do_debug(struct pt_regs *regs, long error_code) | |||
637 | * then it's very likely the result of an icebp/int01 trap. | 637 | * then it's very likely the result of an icebp/int01 trap. |
638 | * User wants a sigtrap for that. | 638 | * User wants a sigtrap for that. |
639 | */ | 639 | */ |
640 | if (!dr6 && user_mode_vm(regs)) | 640 | if (!dr6 && user_mode(regs)) |
641 | user_icebp = 1; | 641 | user_icebp = 1; |
642 | 642 | ||
643 | /* Catch kmemcheck conditions first of all! */ | 643 | /* Catch kmemcheck conditions first of all! */ |
@@ -721,7 +721,7 @@ static void math_error(struct pt_regs *regs, int error_code, int trapnr) | |||
721 | return; | 721 | return; |
722 | conditional_sti(regs); | 722 | conditional_sti(regs); |
723 | 723 | ||
724 | if (!user_mode_vm(regs)) | 724 | if (!user_mode(regs)) |
725 | { | 725 | { |
726 | if (!fixup_exception(regs)) { | 726 | if (!fixup_exception(regs)) { |
727 | task->thread.error_code = error_code; | 727 | task->thread.error_code = error_code; |
diff --git a/arch/x86/kernel/uprobes.c b/arch/x86/kernel/uprobes.c index 81f8adb0679e..0b81ad67da07 100644 --- a/arch/x86/kernel/uprobes.c +++ b/arch/x86/kernel/uprobes.c | |||
@@ -912,7 +912,7 @@ int arch_uprobe_exception_notify(struct notifier_block *self, unsigned long val, | |||
912 | int ret = NOTIFY_DONE; | 912 | int ret = NOTIFY_DONE; |
913 | 913 | ||
914 | /* We are only interested in userspace traps */ | 914 | /* We are only interested in userspace traps */ |
915 | if (regs && !user_mode_vm(regs)) | 915 | if (regs && !user_mode(regs)) |
916 | return NOTIFY_DONE; | 916 | return NOTIFY_DONE; |
917 | 917 | ||
918 | switch (val) { | 918 | switch (val) { |
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index ae340d3761ca..181c53bac3a7 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c | |||
@@ -59,7 +59,7 @@ static nokprobe_inline int kprobes_fault(struct pt_regs *regs) | |||
59 | int ret = 0; | 59 | int ret = 0; |
60 | 60 | ||
61 | /* kprobe_running() needs smp_processor_id() */ | 61 | /* kprobe_running() needs smp_processor_id() */ |
62 | if (kprobes_built_in() && !user_mode_vm(regs)) { | 62 | if (kprobes_built_in() && !user_mode(regs)) { |
63 | preempt_disable(); | 63 | preempt_disable(); |
64 | if (kprobe_running() && kprobe_fault_handler(regs, 14)) | 64 | if (kprobe_running() && kprobe_fault_handler(regs, 14)) |
65 | ret = 1; | 65 | ret = 1; |
@@ -1035,7 +1035,7 @@ static inline bool smap_violation(int error_code, struct pt_regs *regs) | |||
1035 | if (error_code & PF_USER) | 1035 | if (error_code & PF_USER) |
1036 | return false; | 1036 | return false; |
1037 | 1037 | ||
1038 | if (!user_mode_vm(regs) && (regs->flags & X86_EFLAGS_AC)) | 1038 | if (!user_mode(regs) && (regs->flags & X86_EFLAGS_AC)) |
1039 | return false; | 1039 | return false; |
1040 | 1040 | ||
1041 | return true; | 1041 | return true; |
@@ -1140,7 +1140,7 @@ __do_page_fault(struct pt_regs *regs, unsigned long error_code, | |||
1140 | * User-mode registers count as a user access even for any | 1140 | * User-mode registers count as a user access even for any |
1141 | * potential system fault or CPU buglet: | 1141 | * potential system fault or CPU buglet: |
1142 | */ | 1142 | */ |
1143 | if (user_mode_vm(regs)) { | 1143 | if (user_mode(regs)) { |
1144 | local_irq_enable(); | 1144 | local_irq_enable(); |
1145 | error_code |= PF_USER; | 1145 | error_code |= PF_USER; |
1146 | flags |= FAULT_FLAG_USER; | 1146 | flags |= FAULT_FLAG_USER; |
diff --git a/arch/x86/oprofile/backtrace.c b/arch/x86/oprofile/backtrace.c index 5d04be5efb64..4e664bdb535a 100644 --- a/arch/x86/oprofile/backtrace.c +++ b/arch/x86/oprofile/backtrace.c | |||
@@ -111,7 +111,7 @@ x86_backtrace(struct pt_regs * const regs, unsigned int depth) | |||
111 | { | 111 | { |
112 | struct stack_frame *head = (struct stack_frame *)frame_pointer(regs); | 112 | struct stack_frame *head = (struct stack_frame *)frame_pointer(regs); |
113 | 113 | ||
114 | if (!user_mode_vm(regs)) { | 114 | if (!user_mode(regs)) { |
115 | unsigned long stack = kernel_stack_pointer(regs); | 115 | unsigned long stack = kernel_stack_pointer(regs); |
116 | if (depth) | 116 | if (depth) |
117 | dump_trace(NULL, regs, (unsigned long *)stack, 0, | 117 | dump_trace(NULL, regs, (unsigned long *)stack, 0, |
diff --git a/drivers/misc/sgi-xp/xpc_main.c b/drivers/misc/sgi-xp/xpc_main.c index 82dc5748f873..7f327121e6d7 100644 --- a/drivers/misc/sgi-xp/xpc_main.c +++ b/drivers/misc/sgi-xp/xpc_main.c | |||
@@ -1210,7 +1210,7 @@ xpc_system_die(struct notifier_block *nb, unsigned long event, void *_die_args) | |||
1210 | 1210 | ||
1211 | if (((die_args->trapnr == X86_TRAP_MF) || | 1211 | if (((die_args->trapnr == X86_TRAP_MF) || |
1212 | (die_args->trapnr == X86_TRAP_XF)) && | 1212 | (die_args->trapnr == X86_TRAP_XF)) && |
1213 | !user_mode_vm(die_args->regs)) | 1213 | !user_mode(die_args->regs)) |
1214 | xpc_die_deactivate(); | 1214 | xpc_die_deactivate(); |
1215 | 1215 | ||
1216 | break; | 1216 | break; |