lkml.org 
[lkml]   [2008]   [Jul]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 04 of 55] x86: clean up formatting of __switch_to
    Date
    From
    process_64.c:__switch_to has some very old strange formatting, some of
    it dating back to pre-git. Fix it up.

    No functional changes.

    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    ---
    arch/x86/kernel/process_64.c | 54 +++++++++++++++++++++---------------------
    1 file changed, 27 insertions(+), 27 deletions(-)

    diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
    --- a/arch/x86/kernel/process_64.c
    +++ b/arch/x86/kernel/process_64.c
    @@ -575,8 +575,8 @@
    struct task_struct *
    __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
    {
    - struct thread_struct *prev = &prev_p->thread,
    - *next = &next_p->thread;
    + struct thread_struct *prev = &prev_p->thread;
    + struct thread_struct *next = &next_p->thread;
    int cpu = smp_processor_id();
    struct tss_struct *tss = &per_cpu(init_tss, cpu);
    unsigned fsindex, gsindex;
    @@ -624,35 +624,34 @@

    /*
    * Switch FS and GS.
    + *
    + * Segment register != 0 always requires a reload. Also
    + * reload when it has changed. When prev process used 64bit
    + * base always reload to avoid an information leak.
    */
    - {
    - /* segment register != 0 always requires a reload.
    - also reload when it has changed.
    - when prev process used 64bit base always reload
    - to avoid an information leak. */
    - if (unlikely(fsindex | next->fsindex | prev->fs)) {
    - loadsegment(fs, next->fsindex);
    - /* check if the user used a selector != 0
    - * if yes clear 64bit base, since overloaded base
    - * is always mapped to the Null selector
    - */
    - if (fsindex)
    + if (unlikely(fsindex | next->fsindex | prev->fs)) {
    + loadsegment(fs, next->fsindex);
    + /*
    + * Check if the user used a selector != 0; if yes
    + * clear 64bit base, since overloaded base is always
    + * mapped to the Null selector
    + */
    + if (fsindex)
    prev->fs = 0;
    - }
    - /* when next process has a 64bit base use it */
    - if (next->fs)
    - wrmsrl(MSR_FS_BASE, next->fs);
    - prev->fsindex = fsindex;
    + }
    + /* when next process has a 64bit base use it */
    + if (next->fs)
    + wrmsrl(MSR_FS_BASE, next->fs);
    + prev->fsindex = fsindex;

    - if (unlikely(gsindex | next->gsindex | prev->gs)) {
    - load_gs_index(next->gsindex);
    - if (gsindex)
    + if (unlikely(gsindex | next->gsindex | prev->gs)) {
    + load_gs_index(next->gsindex);
    + if (gsindex)
    prev->gs = 0;
    - }
    - if (next->gs)
    - wrmsrl(MSR_KERNEL_GS_BASE, next->gs);
    - prev->gsindex = gsindex;
    }
    + if (next->gs)
    + wrmsrl(MSR_KERNEL_GS_BASE, next->gs);
    + prev->gsindex = gsindex;

    /* Must be after DS reload */
    unlazy_fpu(prev_p);
    @@ -665,7 +664,8 @@
    write_pda(pcurrent, next_p);

    write_pda(kernelstack,
    - (unsigned long)task_stack_page(next_p) + THREAD_SIZE - PDA_STACKOFFSET);
    + (unsigned long)task_stack_page(next_p) +
    + THREAD_SIZE - PDA_STACKOFFSET);
    #ifdef CONFIG_CC_STACKPROTECTOR
    /*
    * Build time only check to make sure the stack_canary is at



    \
     
     \ /
      Last update: 2008-07-09 01:19    [W:4.337 / U:0.344 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site