diff options
| author | Ard Biesheuvel <ardb@kernel.org> | 2026-10-12 14:06:12 +0200 |
|---|---|---|
| committer | Ard Biesheuvel <ardb@kernel.org> | 2026-10-15 13:53:08 +0200 |
| commit | aaf3ed0f46298e18ec8bc477cf0a37478e41f2ea (patch) | |
| tree | 68493c94d47dcd52b1550281dc4aac18c88c0294 /scripts/basic/split-include.c | |
| parent | b49be1e7478afdb4ec96aedeb17f906253326c48 (diff) | |
| download | linux-next-aaf3ed0f46298e18ec8bc477cf0a37478e41f2ea.tar.gz linux-next-aaf3ed0f46298e18ec8bc477cf0a37478e41f2ea.zip | |
efi/libstub: Don't replace an existing LINUX_EFI_MEMRESERVE table
The LINUX_EFI_MEMRESERVE table is the root of a linked list of memory
reservations that need to persist across kexec, such as the GICv3 LPI
pending and property tables, which cannot be moved once the
redistributors have been enabled. Each kernel adds its own reservations
to the list that it finds via the EFI configuration table, and honours
the ones made by its predecessors.
The EFI stub installs a new, empty table unconditionally, replacing any
existing one. This is fine on a cold boot, but not if the stub is being
executed by a loader that passes on the configuration tables of an
earlier kernel, e.g., a kexec loader that runs the incoming kernel's EFI
stub, as the reservations made by earlier kernels would be lost.
So leave an existing table in place, and only install a new one if none
exists yet.
Cc: <stable@vger.kernel.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'scripts/basic/split-include.c')
0 files changed, 0 insertions, 0 deletions
