aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/dumpstack.c
diff options
context:
space:
mode:
authorDave Hansen <dave.hansen@linux.intel.com>2017-12-04 20:25:07 -0500
committerIngo Molnar <mingo@kernel.org>2017-12-22 14:13:02 -0500
commit4fe2d8b11a370af286287a2661de9d4e6c9a145a (patch)
tree80a21157aef3657a706a5ea25e264a7e32d36ed5 /arch/x86/kernel/dumpstack.c
parente8ffe96e5933d417195268478479933d56213a3f (diff)
x86/entry: Rename SYSENTER_stack to CPU_ENTRY_AREA_entry_stack
If the kernel oopses while on the trampoline stack, it will print "<SYSENTER>" even if SYSENTER is not involved. That is rather confusing. The "SYSENTER" stack is used for a lot more than SYSENTER now. Give it a better string to display in stack dumps, and rename the kernel code to match. Also move the 32-bit code over to the new naming even though it still uses the entry stack only for SYSENTER. Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Andy Lutomirski <luto@kernel.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Borislav Petkov <bp@suse.de> Cc: Brian Gerst <brgerst@gmail.com> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Juergen Gross <jgross@suse.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/kernel/dumpstack.c')
-rw-r--r--arch/x86/kernel/dumpstack.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
index bbd6d986e2d0..1dd3f533d78c 100644
--- a/arch/x86/kernel/dumpstack.c
+++ b/arch/x86/kernel/dumpstack.c
@@ -43,9 +43,9 @@ bool in_task_stack(unsigned long *stack, struct task_struct *task,
43 return true; 43 return true;
44} 44}
45 45
46bool in_sysenter_stack(unsigned long *stack, struct stack_info *info) 46bool in_entry_stack(unsigned long *stack, struct stack_info *info)
47{ 47{
48 struct SYSENTER_stack *ss = cpu_SYSENTER_stack(smp_processor_id()); 48 struct entry_stack *ss = cpu_entry_stack(smp_processor_id());
49 49
50 void *begin = ss; 50 void *begin = ss;
51 void *end = ss + 1; 51 void *end = ss + 1;
@@ -53,7 +53,7 @@ bool in_sysenter_stack(unsigned long *stack, struct stack_info *info)
53 if ((void *)stack < begin || (void *)stack >= end) 53 if ((void *)stack < begin || (void *)stack >= end)
54 return false; 54 return false;
55 55
56 info->type = STACK_TYPE_SYSENTER; 56 info->type = STACK_TYPE_ENTRY;
57 info->begin = begin; 57 info->begin = begin;
58 info->end = end; 58 info->end = end;
59 info->next_sp = NULL; 59 info->next_sp = NULL;
@@ -111,13 +111,13 @@ void show_trace_log_lvl(struct task_struct *task, struct pt_regs *regs,
111 * - task stack 111 * - task stack
112 * - interrupt stack 112 * - interrupt stack
113 * - HW exception stacks (double fault, nmi, debug, mce) 113 * - HW exception stacks (double fault, nmi, debug, mce)
114 * - SYSENTER stack 114 * - entry stack
115 * 115 *
116 * x86-32 can have up to four stacks: 116 * x86-32 can have up to four stacks:
117 * - task stack 117 * - task stack
118 * - softirq stack 118 * - softirq stack
119 * - hardirq stack 119 * - hardirq stack
120 * - SYSENTER stack 120 * - entry stack
121 */ 121 */
122 for (regs = NULL; stack; stack = PTR_ALIGN(stack_info.next_sp, sizeof(long))) { 122 for (regs = NULL; stack; stack = PTR_ALIGN(stack_info.next_sp, sizeof(long))) {
123 const char *stack_name; 123 const char *stack_name;