summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorWill Deacon <will@kernel.org>2020-09-15 15:48:09 +0100
committerWill Deacon <will@kernel.org>2020-09-18 16:35:54 +0100
commit0fdb64c2a303e4d2562245501920241c0e507951 (patch)
tree4e0af87c4923a4edbb310bf1ff1e0985f1c3b169 /Documentation
parentf75aef392f869018f78cfedf3c320a6b3fcfda6b (diff)
arm64: Improve diagnostics when trapping BRK with FAULT_BRK_IMM
When generating instructions at runtime, for example due to kernel text patching or the BPF JIT, we can emit a trapping BRK instruction if we are asked to encode an invalid instruction such as an out-of-range] branch. This is indicative of a bug in the caller, and will result in a crash on executing the generated code. Unfortunately, the message from the crash is really unhelpful, and mumbles something about ptrace: | Unexpected kernel BRK exception at EL1 | Internal error: ptrace BRK handler: f2000100 [#1] SMP We can do better than this. Install a break handler for FAULT_BRK_IMM, which is the immediate used to encode the "I've been asked to generate an invalid instruction" error, and triage the faulting PC to determine whether or not the failure occurred in the BPF JIT. Link: https://lore.kernel.org/r/20200915141707.GB26439@willie-the-truck Reported-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions