Thread (3 messages) flat view 3 messages, 3 authors, 2017-09-06

Re: [PATCH] powerpc: Fix kernel crash in emulation of vector loads and stores

From: Anton Blanchard <hidden>
Date: 2017-09-04 05:13:35

Hi Paul,
Commit 350779a29f11 ("powerpc: Handle most loads and stores in
instruction emulation code", 2017-08-30) changed the register usage
in get_vr and put_vr with the aim of leaving the register number in
r3 untouched on return.  Unfortunately, r6 was not a good choice, as
the callers as of 350779a29f11 store a MSR value in r6.  Then, in
commit c22435a5f3d8 ("powerpc: Emulate FP/vector/VSX loads/stores
correctly when regs not live", 2017-08-30), the saving and restoring
of the MSR got moved into get_vr and put_vr.  Either way, the effect
is that we put a value in MSR that only has the 0x3f8 bits non-zero,
meaning that we are switching to 32-bit mode.  That leads to a crash
like this:
Thanks! This fixed the issues I was seeing:

Tested-by: Anton Blanchard <redacted>

Anton
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help