aboutsummaryrefslogtreecommitdiffstats
path: root/rust/helpers/of.c
diff options
context:
space:
mode:
authorAda Couprie Diaz <[email protected]>2025-07-07 11:41:06 +0000
committerWill Deacon <[email protected]>2025-07-08 12:27:42 +0000
commit413f0bba005dacf2484bb8ecce212fab9be79d81 (patch)
treebfc25ed89bcc47486cf5b00e491db56c44fc6aee /rust/helpers/of.c
parentarm64: debug: split single stepping exception entry (diff)
downloadkernel-413f0bba005dacf2484bb8ecce212fab9be79d81.tar.gz
kernel-413f0bba005dacf2484bb8ecce212fab9be79d81.zip
arm64: debug: split hardware watchpoint exception entry
Currently all debug exceptions share common entry code and are routed to `do_debug_exception()`, which calls dynamically-registered handlers for each specific debug exception. This is unfortunate as different debug exceptions have different entry handling requirements, and it would be better to handle these distinct requirements earlier. Hardware watchpoints are the only debug exceptions that will write FAR_EL1, so we need to preserve it and pass it down. However, they cannot be used to maliciously train branch predictors, so we can omit calling `arm64_bp_hardening()`, nor do they need to handle the Cortex-A76 erratum #1463225, as it only applies to single stepping exceptions. As the hardware watchpoint handler only returns 0 and never triggers the call to `arm64_notify_die()`, we can call it directly from `entry-common.c`. Split the hardware watchpoint exception entry and adjust the behaviour to match the lack of needed mitigations. Signed-off-by: Ada Couprie Diaz <[email protected]> Tested-by: Luis Claudio R. Goncalves <[email protected]> Reviewed-by: Will Deacon <[email protected]> Acked-by: Mark Rutland <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Will Deacon <[email protected]>
Diffstat (limited to 'rust/helpers/of.c')
0 files changed, 0 insertions, 0 deletions