x86/tboot: invalidate FIX_TBOOT_MAP_ADDRESS mapping after use

In order for commit cbeeaa7d ("x86/nmi: fix shootdown of pcpus
running in VMX non-root mode")'s re-use of that fixmap entry to not
cause undesirable (in crash context) cross-CPU TLB flushes, invalidate
the fixmap entry right after use.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
master commit: 375a09cffa
master date: 2015-03-04 09:59:47 +0100
This commit is contained in:
Jan Beulich committed 2015-03-12 14:20:52 +01:00
1 parent 4cefc72fc8
commit b9654f9dcb
1 file changed
+3
+3
View File
@@ -140,6 +140,7 @@ void __init tboot_probe(void)
TXT_PUB_CONFIG_REGS_BASE + TXTCR_SINIT_BASE);
tboot_copy_memory((unsigned char *)&sinit_size, sizeof(sinit_size),
TXT_PUB_CONFIG_REGS_BASE + TXTCR_SINIT_SIZE);
__set_fixmap(FIX_TBOOT_MAP_ADDRESS, 0, 0);
}
/* definitions from xen/drivers/passthrough/vtd/iommu.h
@@ -477,6 +478,8 @@ int __init tboot_parse_dmar_table(acpi_table_handler dmar_handler)
dmar_table_raw = xmalloc_array(unsigned char, dmar_table_length);
tboot_copy_memory(dmar_table_raw, dmar_table_length, pa);
dmar_table = (struct acpi_table_header *)dmar_table_raw;
__set_fixmap(FIX_TBOOT_MAP_ADDRESS, 0, 0);
rc = dmar_handler(dmar_table);
xfree(dmar_table_raw);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.