diff options
author | Alexander Graf <graf@amazon.com> | 2022-05-10 14:37:17 +0200 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2022-05-11 23:03:16 +1000 |
commit | ee8348496c77e3737d0a6cda307a521f2cff954f (patch) | |
tree | 4221c64fa85554adbf94dd10253fd0769a8fb9ee /crypto/rng.c | |
parent | 348c71344111d7a48892e3e52264ff11956fc196 (diff) |
KVM: PPC: Book3S PR: Enable MSR_DR for switch_mmu_context()
Commit 863771a28e27 ("powerpc/32s: Convert switch_mmu_context() to C")
moved the switch_mmu_context() to C. While in principle a good idea, it
meant that the function now uses the stack. The stack is not accessible
from real mode though.
So to keep calling the function, let's turn on MSR_DR while we call it.
That way, all pointer references to the stack are handled virtually.
In addition, make sure to save/restore r12 on the stack, as it may get
clobbered by the C function.
Fixes: 863771a28e27 ("powerpc/32s: Convert switch_mmu_context() to C")
Cc: stable@vger.kernel.org # v5.14+
Reported-by: Matt Evans <matt@ozlabs.org>
Signed-off-by: Alexander Graf <graf@amazon.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220510123717.24508-1-graf@amazon.com
Diffstat (limited to 'crypto/rng.c')
0 files changed, 0 insertions, 0 deletions