On 11/27/2017 02:45 AM, Ingo Molnar wrote:
> --- a/arch/x86/kernel/cpu/common.c
> +++ b/arch/x86/kernel/cpu/common.c
> @@ -1645,11 +1645,13 @@ void cpu_init(void)
>       setup_cpu_entry_area(cpu);
>  
>       /*
> -      * Initialize the TSS.  Don't bother initializing sp0, as the initial
> -      * task never enters user mode.
> +      * Initialize the TSS.  sp0 points to the entry trampoline stack
> +      * regardless of what task is running.
>        */
>       set_tss_desc(cpu, &get_cpu_entry_area(cpu)->tss.x86_tss);
>       load_TR_desc();
> +     load_sp0((unsigned long)&get_cpu_entry_area(cpu)->tss +
> +              offsetofend(struct tss_struct, SYSENTER_stack));
>  
>       load_mm_ldt(&init_mm);

Does this also mean that our stack dumps will say "<SYSENTER>" in oopses?

> [   30.811750] CR2: fffffffffdeb2f98 CR3: 0000000423fae001 CR4: 
> 00000000001607e0                                                              
>                                              
> [   30.819712] Call Trace:                                                    
>                                                                               
>                                
> [   30.822442]  <SYSENTER>                                                    
>                                                                               
>                                
> [   30.825170]  trace_hardirqs_on_thunk+0x1c/0x1c                             
>                                                                               
>                                
...
> [   31.000571] R13: 0000000000000050 R14: 0000000000000076 R15: 
> 00007f59f76f2d60                                                              
>                                              
> [   31.008533]  </SYSENTER>                                                   
>                                                  

Should we change that string to something more descriptive?

Reply via email to