• Eric W. Biederman's avatar
    [PATCH] Reload CS when startup_64 is used. · 26374c7b
    Eric W. Biederman authored
    In long mode the %cs is largely a relic.  However there are a few cases
    like iret where it matters that we have a valid value.  Without this
    patch it is possible to enter the kernel in startup_64 without setting
    %cs to a valid value.  With this patch we don't care what %cs value
    we enter the kernel with, so long as the cs shadow register indicates
    it is a privileged code segment.
    
    Thanks to Magnus Damm for finding this problem and posting the
    first workable patch.  I have moved the jump to set %cs down a
    few instructions so we don't need to take an extra jump.  Which
    keeps the code simpler.
    Signed-of-by: default avatarEric W. Biederman <ebiederm@xmission.com>
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    26374c7b
head.S 9.35 KB