Hi Mark

Thank you for your reply.

On Thu, Feb 11, 2021 at 7:42 AM mark gross <[email protected]> wrote:
>
> On Wed, Feb 10, 2021 at 09:39:11PM +0800, Lai Jiangshan wrote:
> > From: Lai Jiangshan <[email protected]>
> >
> > In x86_64, tss.sp1 is reused as cpu_current_top_of_stack.  We'd better
> > directly use percpu since CR3 and gs_base is correct when it is used.
> Be more direct if not using percpu is incorrect in some way.

Sure, I will abstract the most important reason from changelogs to
cover letter in the future.

> >
> > In x86_32, tss.sp1 is resued as thread.sp0 in three places in entry
> s/resued/reused

Sorry, I made it wrong in every cover letter even I noticed it after V2
was sent.  I forgot to use a spellchecker on the cover letter.

> > code.  We have the correct CR3 and %fs at two of the places.  The last
> > one is sysenter.  This patchset makes %fs available earlier so that
> > we can also use percpu in sysenter.  And add a percpu cpu_current_thread_sp0
> > for thread.sp0 instead of tss.sp1
> >
> > [V3]: 
> > https://lore.kernel.org/lkml/[email protected]/
> > [V2]: 
> > https://lore.kernel.org/lkml/[email protected]/
> > [V1]: 
> > https://lore.kernel.org/lkml/[email protected]/
> >
> > Changed from V3:
> >       Update subjects as Borislav's imperative request. ^_^
> >       Update changelog as Borislav suggested.
> >       Change EXPORT_PER_CPU_SYMBOL to EXPORT_PER_CPU_SYMBOL_GPL.
> >
> > Changed from V2:
> >       Add missing "%ss:" reported by Brian Gerst.
> >
> > Changed from V1:
> >       Requested from Andy to also fix sp1 for x86_32.
> >       Update comments in the x86_64 patch as Andy sugguested.
> >
> > Lai Jiangshan (6):
> >   x86/entry/64: Move cpu_current_top_of_stack out of TSS
> >   x86/entry/32: Use percpu instead of offset-calculation to get
> >     thread.sp0 in SWITCH_TO_KERNEL_STACK
> >   x86/entry/32: Switch to the task stack without emptying the entry
> >     stack
> >   x86/entry/32: Restore %fs before switching stack
> >   x86/entry/32: Use percpu to get thread.sp0 in SYSENTER
> >   x86/entry/32: Introduce cpu_current_thread_sp0 to replace
> >     cpu_tss_rw.x86_tss.sp1
> >
> >  arch/x86/entry/entry_32.S          | 38 +++++++++++++++++-------------
> >  arch/x86/include/asm/processor.h   | 12 ++--------
> >  arch/x86/include/asm/switch_to.h   |  8 +------
> >  arch/x86/include/asm/thread_info.h |  6 -----
> >  arch/x86/kernel/asm-offsets.c      |  1 -
> >  arch/x86/kernel/asm-offsets_32.c   | 10 --------
> >  arch/x86/kernel/cpu/common.c       | 12 +++++++++-
> >  arch/x86/kernel/process.c          |  7 ------
> >  arch/x86/mm/pti.c                  |  7 +++---
> >  9 files changed, 39 insertions(+), 62 deletions(-)
> >
> > --
> > 2.19.1.6.gb485710b
> >

Reply via email to