diff options
| author | Ada Couprie Diaz <ada.coupriediaz@arm.com> | 2026-07-27 17:34:15 +0100 |
|---|---|---|
| committer | Will Deacon <will@kernel.org> | 2026-08-06 13:07:46 +0000 |
| commit | 0d774e0517f30b9684e936c2559fb50681a45329 (patch) | |
| tree | ee91a3e11651cfb738f27fe13b1e771f711598cf /tools/perf/scripts/python/bin/stackcollapse-record | |
| parent | d3ebdc1772c0714faca14eec789ff082f6e00535 (diff) | |
arm64: entry: mask DAIF before returning from C EL1 handlers
Most EL1 exceptions already call local_daif_mask() before returning,
with the exception of debug exception handlers which do not change
DAIF, and the IRQ/FIQ/Error handlers.
However, DAIF get masked in kernel_exit() in all cases when returning
from EL1 C handlers anyway.
Move this masking from assembly to C by calling local_daif_mask()
before irqentry_nmi_exit(). Unlike the raw DAIF masking helper,
local_daif_mask() invokes trace_hardirqs_off(), so it must execute
while RCU is still watching.
Remove the disable_daif assembly macro, as this was its only use.
Signed-off-by: Ada Couprie Diaz <ada.coupriediaz@arm.com>
Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Reviewed-by: Jinjie Ruan <ruanjinjie@huawei.com>
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions
