]> git.baikalelectronics.ru Git - kernel.git/commit
parisc: Clear stale IIR value on instruction access rights trap
authorHelge Deller <deller@gmx.de>
Wed, 8 Dec 2021 10:06:52 +0000 (11:06 +0100)
committerHelge Deller <deller@gmx.de>
Mon, 20 Dec 2021 13:38:40 +0000 (14:38 +0100)
commita94b5200e403fd6d9edf9482cf9d4b309f88ddbd
treec3fa1b8fde72d03b417e830cd2cc9584b3894931
parente9a00a4c546b950fec81a7173b0c935ffc03d90a
parisc: Clear stale IIR value on instruction access rights trap

When a trap 7 (Instruction access rights) occurs, this means the CPU
couldn't execute an instruction due to missing execute permissions on
the memory region.  In this case it seems the CPU didn't even fetched
the instruction from memory and thus did not store it in the cr19 (IIR)
register before calling the trap handler. So, the trap handler will find
some random old stale value in cr19.

This patch simply overwrites the stale IIR value with a constant magic
"bad food" value (0xbaadf00d), in the hope people don't start to try to
understand the various random IIR values in trap 7 dumps.

Noticed-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/kernel/traps.c