Messages in this thread | | | From | "Elliott, Robert (Persistent Memory)" <> | Subject | tboot: non-0 tboot_addr but it is not of type E820_RESERVED | Date | Tue, 24 Nov 2015 01:57:39 +0000 |
| |
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
| |