After emulating an instruction in the misaligned load/store handler, we
need to increment the program counter by the size of instruction.
Otherwise the same instruction is executed (and emulated) again and again.
While were at it: Also return early in the unlikely case that the
faulting instruction is not 16 or 32 bits long, and be more explicit
about the return values of fetch_*bit_instruction.
Tested by Philipp Hug, using the linuxcheck payload.
Fixes:
|
||
|---|---|---|
| .. | ||
| arm | ||
| arm64 | ||
| mips | ||
| power8 | ||
| riscv | ||
| x86 | ||