blob: 96f777ac0d945a77df023e991abdaa50481040b2 [file]
The Linux kernel has a vulnerability in its parisc architecture, specifically in the handling of instruction access rights traps. When a trap 7 (Instruction access rights) occurs, it means the CPU couldn't execute an instruction due to missing execute permissions on the memory region. In this case, the CPU doesn't even fetch the instruction from memory and thus doesn't store it in the cr19 (IIR) register before calling the trap handler. As a result, the trap handler finds some random old stale value in cr19.
This vulnerability is resolved by overwriting the stale IIR value with a constant magic "bad food" value (0xbaadf00d) in the hope that people won't try to understand the various random IIR values in trap 7 dumps. This patch ensures that the stale IIR value is cleared, preventing any potential issues that may arise from its presence.
The affected files are arch/parisc/kernel/traps.c, and the vulnerability has been fixed in kernel versions 5.10.90, 5.15.13, and 5.16 with commits d01e9ce1af61, e96373f0a5f4, and 484730e5862f respectively. The Linux kernel CVE team recommends updating to the latest stable kernel version to resolve this issue, as individual changes are never tested alone and cherry-picking individual commits is not recommended or supported by the Linux kernel community.