diff options
| author | Ard Biesheuvel <ardb@kernel.org> | 2026-10-13 09:30:08 +0200 |
|---|---|---|
| committer | Catalin Marinas <catalin.marinas@arm.com> | 2026-10-13 11:06:58 +0100 |
| commit | 171be684bfa3020f81bf0b85bc7ac42024575fbf (patch) | |
| tree | 5736b3b9603d5ce739070268106a047911340fe0 /tools/perf/scripts/python/flamegraph.py | |
| parent | 215d7b6622733603751f546b9faf9b84b0c281d4 (diff) | |
arm64/mm: Treat faults taken by EFI runtime firmware as kernel faults
When EFI runtime services are invoked from a preemptible kthread, the
kthread runs with efi_mm installed via kthread_use_mm() and preemption
enabled, so neither faulthandler_disabled() nor !mm applies in
do_page_fault(). A permission fault taken by the firmware on one of its
own (TTBR0) mappings then hits the 'access to user memory outside
uaccess routines' check and oopses, without efi_runtime_fixup_exception()
ever being consulted.
efi_mm has no VMAs, so there is nothing for the mm to resolve. Send such
faults to no_context directly, so that __do_kernel_fault() can recover
from them as it does when the call is made with preemption disabled.
Fixes: a5baf582f4c0 ("arm64/efi: Call EFI runtime services without disabling preemption")
Cc: <stable@vger.kernel.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'tools/perf/scripts/python/flamegraph.py')
0 files changed, 0 insertions, 0 deletions
