lkml.org 
[lkml]   [2008]   [Nov]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [x86] do_arch_prctl - bug?
    Date
    I look at the Intel docs (vol. 3A) again, and see that in 64 bits mode the 
    hidden field gs.base are physically mapped to the MSR, so it seems that in
    order to load gs.base we don't need to load gs (like in 32 bits mode), but
    rather we only need to load the MSR.

    So I don't understand the purpose of load_gs_index in that context :

    if (doit) {
    load_gs_index(0);
    ret = checking_wrmsrl(MSR_KERNEL_GS_BASE, addr);
    }

    Why don't we only load the MSR ?
    What is the purpose of calling load_gs_index with 0 as parameter ?

    Thanks in advance for your response,

    Eric

    > ENTRY(native_load_gs_index)
    > CFI_STARTPROC
    > pushf
    > CFI_ADJUST_CFA_OFFSET 8
    > DISABLE_INTERRUPTS(CLBR_ANY | ~(CLBR_RDI))
    > SWAPGS
    > gs_change:
    > movl %edi,%gs
    > 2: mfence /* workaround */
    > SWAPGS
    > popf
    > CFI_ADJUST_CFA_OFFSET -8
    > ret
    > CFI_ENDPROC
    > ENDPROC(native_load_gs_index)



    \
     
     \ /
      Last update: 2008-11-19 00:47    [W:3.336 / U:0.384 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site