• Avi Kivity's avatar
    KVM: Fix PDPTR reloading on CR4 writes · a2edf57f
    Avi Kivity authored
    The processor is documented to reload the PDPTRs while in PAE mode if any
    of the CR4 bits PSE, PGE, or PAE change.  Linux relies on this
    behaviour when zapping the low mappings of PAE kernels during boot.
    
    The code already handled changes to CR4.PAE; augment it to also notice changes
    to PSE and PGE.
    
    This triggered while booting an F11 PAE kernel; the futex initialization code
    runs before any CR3 reloads and writes to a NULL pointer; the futex subsystem
    ended up uninitialized, killing PI futexes and pulseaudio which uses them.
    
    Cc: stable@kernel.org
    Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
    a2edf57f
x86.c 108 KB