Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1276013 > unrolled thread

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

Started by"Elliott, Robert (Persistent Memory)" <elliott@hpe.com>
First post2015-11-24 03:00 +0100
Last post2015-11-24 03:00 +0100
Articles 1 — 1 participant

Back to article view | Back to linux.kernel


Contents

  tboot: non-0 tboot_addr but it is not of type E820_RESERVED "Elliott, Robert (Persistent Memory)" <elliott@hpe.com> - 2015-11-24 03:00 +0100

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

From"Elliott, Robert (Persistent Memory)" <elliott@hpe.com>
Date2015-11-24 03:00 +0100
Subjecttboot: non-0 tboot_addr but it is not of type E820_RESERVED
Message-ID<qyb3H-1sG-7@gated-at.bofh.it>
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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web