[PATCH v6 20/34] x86, mpparse: Use memremap to map the mpf and mpc data
Borislav Petkov
bp at alien8.de
Wed Jun 14 09:07:54 PDT 2017
On Wed, Jun 07, 2017 at 02:16:43PM -0500, Tom Lendacky wrote:
> The SMP MP-table is built by UEFI and placed in memory in a decrypted
> state. These tables are accessed using a mix of early_memremap(),
> early_memunmap(), phys_to_virt() and virt_to_phys(). Change all accesses
> to use early_memremap()/early_memunmap(). This allows for proper setting
> of the encryption mask so that the data can be successfully accessed when
> SME is active.
>
> Signed-off-by: Tom Lendacky <thomas.lendacky at amd.com>
> ---
> arch/x86/kernel/mpparse.c | 98 ++++++++++++++++++++++++++++++++-------------
> 1 file changed, 70 insertions(+), 28 deletions(-)
...
> @@ -515,6 +516,12 @@ void __init default_get_smp_config(unsigned int early)
> if (acpi_lapic && acpi_ioapic)
> return;
>
> + mpf = early_memremap(mpf_base, sizeof(*mpf));
> + if (!mpf) {
> + pr_err("MPTABLE: mpf early_memremap() failed\n");
If you're going to introduce new prefixes then add:
#undef pr_fmt
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
at the beginning of the file so that they all say "mpparse:" instead.
And pls make that message more user-friendly: "Error mapping MP table"
or so.
--
Regards/Gruss,
Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
More information about the kexec
mailing list