• Marc Zyngier's avatar
    KVM: arm: Don't write junk to CP15 registers on reset · ef61b790
    Marc Zyngier authored
    [ Upstream commit c69509c7 ]
    
    At the moment, the way we reset CP15 registers is mildly insane:
    We write junk to them, call the reset functions, and then check that
    we have something else in them.
    
    The "fun" thing is that this can happen while the guest is running
    (PSCI, for example). If anything in KVM has to evaluate the state
    of a CP15 register while junk is in there, bad thing may happen.
    
    Let's stop doing that. Instead, we track that we have called a
    reset function for that register, and assume that the reset
    function has done something.
    
    In the end, the very need of this reset check is pretty dubious,
    as it doesn't check everything (a lot of the CP15 reg leave outside
    of the cp15_regs[] array). It may well be axed in the near future.
    Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    ef61b790
coproc.c 39.4 KB