]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
arm64: Check DAIF (and PMR) at task-switch time
authorMark Rutland <mark.rutland@arm.com>
Tue, 7 Apr 2026 13:16:50 +0000 (14:16 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 8 Apr 2026 16:40:04 +0000 (17:40 +0100)
commit8d13386c7624dc8bd3caad483875fb9be4044ea0
tree91f8e9f8fb7488a2f34cb20601708b367ffab758
parentae654112eac05f316ef31587fc55e4d7160d0086
arm64: Check DAIF (and PMR) at task-switch time

When __switch_to() switches from a 'prev' task to a 'next' task, various
pieces of CPU state are expected to have specific values, such that
these do not need to be saved/restored. If any of these hold an
unexpected value when switching away from the prev task, they could lead
to surprising behaviour in the context of the next task, and it would be
difficult to determine where they were configured to their unexpected
value.

Add some checks for DAIF and PMR at task-switch time so that we can
detect such issues.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Jinjie Ruan <ruanjinjie@huawei.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Vladimir Murzin <vladimir.murzin@arm.com>
Cc: Will Deacon <will@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/process.c