tboot: non-0 tboot_addr but it is not of type E820_RESERVED

From: Elliott, Robert (Persistent Memory)
Date: Mon Nov 23 2015 - 20:58:35 EST


I noticed this being reported on our UEFI-based machines booting
with grub2 (and not using trusted boot):
[    0.000000] tboot: non-0 tboot_addr but it is not of type E820_RESERVED

The alleged address is:
                0x6b7369642065766f
which is actually an ASCII string "ksid evo".

That comes from arch/c86/kernel/tboot.c checking if the address is
in the E820 table.

Is that supposed to be initialized to 0 by the EFI boot stub
in arch/x86/boot/compressed/eboot.c, and we're just lucky that it
doesn't appear to be a valid address?

void __init tboot_probe(void)
{
        /* Look for valid page-aligned address for shared page. */
        if (!boot_params.tboot_addr)
                return;
        /*
         * also verify that it is mapped as we expect it before calling
         * set_fixmap(), to reduce chance of garbage value causing crash
         */
        if (!e820_any_mapped(boot_params.tboot_addr,
                             boot_params.tboot_addr, E820_RESERVED)) {
                pr_warning("non-0 tboot_addr but it is not of type E820_RESERVED\n");
                return;
        }

That's part of this structure:
struct boot_params {
        struct screen_info screen_info;                 /* 0x000 */
       struct apm_bios_info apm_bios_info;             /* 0x040 */
        __u8  _pad2[4];                                 /* 0x054 */
        __u64  tboot_addr;                              /* 0x058 */
        struct ist_info ist_info;                       /* 0x060 */
...


---
Robert Elliott, HPE Persistent Memory

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/