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/