lkml.org 
[lkml]   [2018]   [Jan]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 02/16] x86/entry/32: Enter the kernel via trampoline stack
    On Tue, 16 Jan 2018, Joerg Roedel wrote:
    > @@ -89,13 +89,9 @@ static inline void refresh_sysenter_cs(struct thread_struct *thread)
    > /* This is used when switching tasks or entering/exiting vm86 mode. */
    > static inline void update_sp0(struct task_struct *task)
    > {
    > - /* On x86_64, sp0 always points to the entry trampoline stack, which is constant: */
    > -#ifdef CONFIG_X86_32
    > - load_sp0(task->thread.sp0);
    > -#else
    > + /* sp0 always points to the entry trampoline stack, which is constant: */
    > if (static_cpu_has(X86_FEATURE_XENPV))
    > load_sp0(task_top_of_stack(task));
    > -#endif
    > }
    >
    > #endif /* _ASM_X86_SWITCH_TO_H */
    > diff --git a/arch/x86/kernel/asm-offsets_32.c b/arch/x86/kernel/asm-offsets_32.c
    > index 654229bac2fc..7270dd834f4b 100644
    > --- a/arch/x86/kernel/asm-offsets_32.c
    > +++ b/arch/x86/kernel/asm-offsets_32.c
    > @@ -47,9 +47,11 @@ void foo(void)
    > BLANK();
    >
    > /* Offset from the sysenter stack to tss.sp0 */
    > - DEFINE(TSS_sysenter_stack, offsetof(struct cpu_entry_area, tss.x86_tss.sp0) -
    > + DEFINE(TSS_sysenter_stack, offsetof(struct cpu_entry_area, tss.x86_tss.sp1) -
    > offsetofend(struct cpu_entry_area, entry_stack_page.stack));
    >
    > + OFFSET(TSS_sp1, tss_struct, x86_tss.sp1);

    Can you please split out the change of TSS_sysenter_stack into a separate
    patch?

    Other than that, this looks good.

    Thanks,

    tglx

    \
     
     \ /
      Last update: 2018-01-16 21:30    [W:4.458 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site