• Marc Zyngier's avatar
    arm64: KVM: perform save/restore of PAR_EL1 · 1bbd8054
    Marc Zyngier authored
    Not saving PAR_EL1 is an unfortunate oversight. If the guest
    performs an AT* operation and gets scheduled out before reading
    the result of the translation from PAREL1, it could become
    corrupted by another guest or the host.
    
    Saving this register is made slightly more complicated as KVM also
    uses it on the permission fault handling path, leading to an ugly
    "stash and restore" sequence. Fortunately, this is already a slow
    path so we don't really care. Also, Linux doesn't do any AT*
    operation, so Linux guests are not impacted by this bug.
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    1bbd8054
hyp.S 17.1 KB