From nobody Sun Feb 8 16:24:07 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+86066+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+86066+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1643139557; cv=none; d=zohomail.com; s=zohoarc; b=AVxc3xjrC3p1aQ3NptKLHK+OL+y4hAI8d3+D8WV3+JwSoJ6gWQGcveDQLd5X0FQ4topgT2ujY4H6gaAQlGA5sOBOnsM2t33KQz+wNzhVKI/DMSU/PDjZCDUnsDjw0owPva8ezykV3A5gzWD1/+j5Jt29XJaU+575wX8HDkGVKlQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1643139557; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=qEf7qrFzjpap+B0hSXcZ+jn0R+uGytm4jB/0MuOAc1E=; b=CcIgg+GUo9i8pNSVoo6VOBNFioKUSZ1KYoEIx1ippY/tQPkgAFlVZNEpv2zw5wvVgpbG9/ZW2P1fxTbKwiV26ILVopH2Gb+jhQlGV52U2WG7lGq5vsLtxRD/AzAVtOtBr4wR/pEepO3yx+E0xWeApDJUajhSjv/FTiP622suZ5U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+86066+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 164313955748830.291287444507248; Tue, 25 Jan 2022 11:39:17 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id n2meYY1788612x75SH6SRk3X; Tue, 25 Jan 2022 11:39:17 -0800 X-Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com [209.85.215.169]) by mx.groups.io with SMTP id smtpd.web11.2065.1643139556106848812 for ; Tue, 25 Jan 2022 11:39:16 -0800 X-Received: by mail-pg1-f169.google.com with SMTP id p125so19142850pga.2 for ; Tue, 25 Jan 2022 11:39:16 -0800 (PST) X-Gm-Message-State: WAFPVH3qbG3g8SKTR2Mgeuthx1787277AA= X-Google-Smtp-Source: ABdhPJzEi4mm1++9OK9wLlfxJ7te64bHuMKLdUeDd3SvkN8rXN3/9j5XO0Zv+bh8+4zG7uH1Ugs7MA== X-Received: by 2002:a05:6a00:1946:b0:492:64f1:61b5 with SMTP id s6-20020a056a00194600b0049264f161b5mr19828667pfk.52.1643139555437; Tue, 25 Jan 2022 11:39:15 -0800 (PST) X-Received: from gem-name-lb-02.localdomain ([50.35.74.198]) by smtp.gmail.com with ESMTPSA id v8sm1036929pju.51.2022.01.25.11.39.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Jan 2022 11:39:15 -0800 (PST) From: "Kun Qin" To: devel@edk2.groups.io Cc: Jian J Wang , Liming Gao , Hao A Wu , Bret Barkelew , Michael Kubacki Subject: [edk2-devel] [PATCH v3 1/6] MdeModulePkg: VariableSmmRuntimeDxe: Fix Variable Policy Message Length Date: Tue, 25 Jan 2022 11:39:04 -0800 Message-Id: <20220125193909.491-2-kuqin12@gmail.com> In-Reply-To: <20220125193909.491-1-kuqin12@gmail.com> References: <20220125193909.491-1-kuqin12@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kuqin12@gmail.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1643139557; bh=TMESwzPBi3/vbndn6l8e5zSTkMpETb2Kv8ZBM+b22vQ=; h=Cc:Date:From:Reply-To:Subject:To; b=DWASbdtGIOe36yL6xnTmBv2m0HGTGsmXP/GCNa4Z3OrahOez3DQQsE/lQzIedvaP/YF HG3jXnCY6q3exi3lc648bua91WIQD1lixM5147RRMwSBrlo5m66nbovdhYp3ZXe4T2o+P orTnGTlGDfXKtOOikeZoPBr0+xmHY+s+hQw= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1643139559858100005 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3709 In EDKII implementation of variable policy, the DXE runtime agent would communicate to MM to disable, register or query policies. However, these operations populate the value of MessageLength that includes communicate header to include MM communicate header, which mismatches with the description of PI specification. This fix will correct the MessageLength field calculation to exclude the size of MM_COMMUNICATE_HEADER. Cc: Jian J Wang Cc: Liming Gao Cc: Hao A Wu Cc: Bret Barkelew Cc: Michael Kubacki Signed-off-by: Kun Qin Reviewed-by: Liming Gao --- Notes: v2: - No review, no updates =20 v3: - Added reviewed-by tag [Liming] MdeModulePkg/Universal/Variable/RuntimeDxe/VariablePolicySmmDxe.c | 10 +++= ++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/VariablePolicySmmDx= e.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/VariablePolicySmmDxe.c index 672a2293bcb1..b2094fbcd6ea 100644 --- a/MdeModulePkg/Universal/Variable/RuntimeDxe/VariablePolicySmmDxe.c +++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/VariablePolicySmmDxe.c @@ -89,7 +89,7 @@ ProtocolDisableVariablePolicy ( CommHeader =3D mMmCommunicationBuffer; PolicyHeader =3D (VAR_CHECK_POLICY_COMM_HEADER *)&CommHeader->Data; CopyGuid (&CommHeader->HeaderGuid, &gVarCheckPolicyLibMmiHandlerGuid); - CommHeader->MessageLength =3D BufferSize; + CommHeader->MessageLength =3D BufferSize - OFFSET_OF (EFI_MM_COMMUNICATE= _HEADER, Data); PolicyHeader->Signature =3D VAR_CHECK_POLICY_COMM_SIG; PolicyHeader->Revision =3D VAR_CHECK_POLICY_COMM_REVISION; PolicyHeader->Command =3D VAR_CHECK_POLICY_COMMAND_DISABLE; @@ -138,7 +138,7 @@ ProtocolIsVariablePolicyEnabled ( PolicyHeader =3D (VAR_CHECK_POLICY_COMM_HEADER *)&CommHeader->Data; CommandParams =3D (VAR_CHECK_POLICY_COMM_IS_ENABLED_PARAMS *)(PolicyHead= er + 1); CopyGuid (&CommHeader->HeaderGuid, &gVarCheckPolicyLibMmiHandlerGuid); - CommHeader->MessageLength =3D BufferSize; + CommHeader->MessageLength =3D BufferSize - OFFSET_OF (EFI_MM_COMMUNICATE= _HEADER, Data); PolicyHeader->Signature =3D VAR_CHECK_POLICY_COMM_SIG; PolicyHeader->Revision =3D VAR_CHECK_POLICY_COMM_REVISION; PolicyHeader->Command =3D VAR_CHECK_POLICY_COMMAND_IS_ENABLED; @@ -213,7 +213,7 @@ ProtocolRegisterVariablePolicy ( PolicyHeader =3D (VAR_CHECK_POLICY_COMM_HEADER *)&CommHeader->Data; PolicyBuffer =3D (VOID *)(PolicyHeader + 1); CopyGuid (&CommHeader->HeaderGuid, &gVarCheckPolicyLibMmiHandlerGuid); - CommHeader->MessageLength =3D BufferSize; + CommHeader->MessageLength =3D BufferSize - OFFSET_OF (EFI_MM_COMMUNICATE= _HEADER, Data); PolicyHeader->Signature =3D VAR_CHECK_POLICY_COMM_SIG; PolicyHeader->Revision =3D VAR_CHECK_POLICY_COMM_REVISION; PolicyHeader->Command =3D VAR_CHECK_POLICY_COMMAND_REGISTER; @@ -270,7 +270,7 @@ DumpVariablePolicyHelper ( PolicyHeader =3D (VAR_CHECK_POLICY_COMM_HEADER *)&CommHeader->Data; CommandParams =3D (VAR_CHECK_POLICY_COMM_DUMP_PARAMS *)(PolicyHeader + 1= ); CopyGuid (&CommHeader->HeaderGuid, &gVarCheckPolicyLibMmiHandlerGuid); - CommHeader->MessageLength =3D BufferSize; + CommHeader->MessageLength =3D BufferSize - OFFSET_OF (EFI_MM_COMMUNICATE= _HEADER, Data); PolicyHeader->Signature =3D VAR_CHECK_POLICY_COMM_SIG; PolicyHeader->Revision =3D VAR_CHECK_POLICY_COMM_REVISION; PolicyHeader->Command =3D VAR_CHECK_POLICY_COMMAND_DUMP; @@ -397,7 +397,7 @@ ProtocolLockVariablePolicy ( CommHeader =3D mMmCommunicationBuffer; PolicyHeader =3D (VAR_CHECK_POLICY_COMM_HEADER *)&CommHeader->Data; CopyGuid (&CommHeader->HeaderGuid, &gVarCheckPolicyLibMmiHandlerGuid); - CommHeader->MessageLength =3D BufferSize; + CommHeader->MessageLength =3D BufferSize - OFFSET_OF (EFI_MM_COMMUNICATE= _HEADER, Data); PolicyHeader->Signature =3D VAR_CHECK_POLICY_COMM_SIG; PolicyHeader->Revision =3D VAR_CHECK_POLICY_COMM_REVISION; PolicyHeader->Command =3D VAR_CHECK_POLICY_COMMAND_LOCK; --=20 2.34.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#86066): https://edk2.groups.io/g/devel/message/86066 Mute This Topic: https://groups.io/mt/88680220/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-