diff options
author | Ard Biesheuvel <[email protected]> | 2018-11-23 22:51:32 +0100 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2018-11-27 13:50:20 +0100 |
commit | 976b489120cdab2b1b3a41ffa14661db43d58190 (patch) | |
tree | 5a6de1fcdcdbe44bca84a1ec22f91370eed5fad0 /scripts/bpf_helpers_doc.py | |
parent | 2e6e902d185027f8e3cb8b7305238f7e35d6a436 (diff) |
efi: Prevent GICv3 WARN() by mapping the memreserve table before first use
Mapping the MEMRESERVE EFI configuration table from an early initcall
is too late: the GICv3 ITS code that creates persistent reservations
for the boot CPU's LPI tables is invoked from init_IRQ(), which runs
much earlier than the handling of the initcalls. This results in a
WARN() splat because the LPI tables cannot be reserved persistently,
which will result in silent memory corruption after a kexec reboot.
So instead, invoke the initialization performed by the initcall from
efi_mem_reserve_persistent() itself as well, but keep the initcall so
that the init is guaranteed to have been called before SMP boot.
Tested-by: Marc Zyngier <[email protected]>
Tested-by: Jan Glauber <[email protected]>
Tested-by: John Garry <[email protected]>
Signed-off-by: Ard Biesheuvel <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Fixes: 63eb322d89c8 ("efi: Permit calling efi_mem_reserve_persistent() ...")
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'scripts/bpf_helpers_doc.py')
0 files changed, 0 insertions, 0 deletions