From d19aff3df18a816bbdb694b1ebe0d634e6d1321f Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Mon, 7 Sep 2020 09:26:31 +0100 Subject: [PATCH] mei: Do not attempt to parse HFSTS6 when using TXT It seems the MEI parameters are not set for platforms such as Apollo Lake. The only bit set was FPF_SOC_LOCK, with the others all cleared to zero. Fixes https://github.com/fwupd/fwupd/issues/2335 for a peculiar definition of 'fix'. --- plugins/pci-mei/fu-plugin-pci-mei.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/plugins/pci-mei/fu-plugin-pci-mei.c b/plugins/pci-mei/fu-plugin-pci-mei.c index 3c24c3ce5..e52d03a2c 100644 --- a/plugins/pci-mei/fu-plugin-pci-mei.c +++ b/plugins/pci-mei/fu-plugin-pci-mei.c @@ -264,6 +264,10 @@ fu_plugin_add_security_attrs_bootguard_enabled (FuPlugin *plugin, FuSecurityAttr FuPluginData *priv = fu_plugin_get_data (plugin); g_autoptr(FwupdSecurityAttr) attr = NULL; + /* not supported */ + if (priv->family == FU_MEI_FAMILY_TXE) + return; + /* create attr */ attr = fwupd_security_attr_new (FWUPD_SECURITY_ATTR_ID_INTEL_BOOTGUARD_ENABLED); fwupd_security_attr_set_plugin (attr, fu_plugin_get_name (plugin)); @@ -288,6 +292,10 @@ fu_plugin_add_security_attrs_bootguard_verified (FuPlugin *plugin, FuSecurityAtt FuPluginData *priv = fu_plugin_get_data (plugin); g_autoptr(FwupdSecurityAttr) attr = NULL; + /* not supported */ + if (priv->family == FU_MEI_FAMILY_TXE) + return; + /* disabled */ if (priv->hfsts6.fields.boot_guard_disable) return; @@ -316,6 +324,10 @@ fu_plugin_add_security_attrs_bootguard_acm (FuPlugin *plugin, FuSecurityAttrs *a FuPluginData *priv = fu_plugin_get_data (plugin); g_autoptr(FwupdSecurityAttr) attr = NULL; + /* not supported */ + if (priv->family == FU_MEI_FAMILY_TXE) + return; + /* disabled */ if (priv->hfsts6.fields.boot_guard_disable) return; @@ -343,6 +355,10 @@ fu_plugin_add_security_attrs_bootguard_policy (FuPlugin *plugin, FuSecurityAttrs FuPluginData *priv = fu_plugin_get_data (plugin); g_autoptr(FwupdSecurityAttr) attr = NULL; + /* not supported */ + if (priv->family == FU_MEI_FAMILY_TXE) + return; + /* disabled */ if (priv->hfsts6.fields.boot_guard_disable) return; @@ -371,6 +387,10 @@ fu_plugin_add_security_attrs_bootguard_otp (FuPlugin *plugin, FuSecurityAttrs *a FuPluginData *priv = fu_plugin_get_data (plugin); g_autoptr(FwupdSecurityAttr) attr = NULL; + /* not supported */ + if (priv->family == FU_MEI_FAMILY_TXE) + return; + /* disabled */ if (priv->hfsts6.fields.boot_guard_disable) return;