summaryrefslogtreecommitdiff
path: root/arch/powerpc/kernel/prom_init.c
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2017-01-19 14:19:10 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2017-01-20 15:21:35 +1100
commit178f358208ceb8b38e5cff3f815e0db4a6a70a07 (patch)
tree87500f67fd6a68b6e43b3fc5513088c825804cf1 /arch/powerpc/kernel/prom_init.c
parentb34ca60148c53971d373643195cc5c4d5d20be78 (diff)
powerpc: Ignore reserved field in DCSR and PVR reads and writes
IBM bit 31 (for the rest of us - bit 0) is a reserved field in the instruction definition of mtspr and mfspr. Hardware is encouraged to (and does) ignore it. As a result, if userspace executes an mtspr DSCR with the reserved bit set, we get a DSCR facility unavailable exception. The kernel fails to match against the expected value/mask, and we silently return to userspace to try and re-execute the same mtspr DSCR instruction. We loop forever until the process is killed. We should do something here, and it seems mirroring what hardware does is the better option vs killing the process. While here, relax the matching of mfspr PVR too. Cc: stable@vger.kernel.org Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kernel/prom_init.c')
0 files changed, 0 insertions, 0 deletions