From nobody Mon Feb 9 11:29:39 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+84141+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+84141+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1638232773; cv=none; d=zohomail.com; s=zohoarc; b=BWSm532bfOtWE65NsrGEsc+vGXpKqejFlq7d110SHJoFctJkPXGnruPXjVx86i4eDiC5xWgLusnxl8ModDHpQVNjUT4MWySnJu9mZSr6n9p0V14G8q7rUObQbvuZ8uNm9wJbCvDAjFarIcVSFKCA3AxQGK9gixpEpqMNK3uk0Fw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1638232773; 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=+ryxx8pbzfKmKqGVFrh6BM24ifyLXJWyGXsOtk6XVBY=; b=Vs00G41yRGM0F7vCpDqVTbidbdVY20cMbUo4DM+HWN0S1EQjHvleJxlqXaKw4DnfI/mHvM1gzUHIrXpuTDlXMMy3MSq/9iARxmPBW6Ubm/9pX5rx3hiYT/dfKz/a91BmuG+ozHQNV3zYmzi+wRYMN0DvlhpxyFa8SyweNRsLmbg= 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+84141+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 1638232773892664.060252786744; Mon, 29 Nov 2021 16:39:33 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id q3aIYY1788612xe987Aja8jw; Mon, 29 Nov 2021 16:39:33 -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.web10.70145.1638232772974617323 for ; Mon, 29 Nov 2021 16:39:33 -0800 X-Received: by mail-pg1-f169.google.com with SMTP id r5so17801132pgi.6 for ; Mon, 29 Nov 2021 16:39:32 -0800 (PST) X-Gm-Message-State: nZZugMjYCHhlC9ogmFIDzuJRx1787277AA= X-Google-Smtp-Source: ABdhPJz753MOLAicHq5IatktmnBv9Pc1UR5FiAQsdU/xcTAnb/5VIBex4isxvwSL1oY8mbaHcRGn6Q== X-Received: by 2002:a63:d413:: with SMTP id a19mr3871898pgh.552.1638232772378; Mon, 29 Nov 2021 16:39:32 -0800 (PST) X-Received: from localhost.localdomain ([50.35.70.63]) by smtp.gmail.com with ESMTPSA id v10sm19286119pfu.123.2021.11.29.16.39.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Nov 2021 16:39:31 -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 v1 1/2] MdeModulePkg: VariableSmmRuntimeDxe: Fix Variable Policy Message Length Date: Mon, 29 Nov 2021 16:39:01 -0800 Message-Id: <20211130003902.1884-2-kuqin12@gmail.com> In-Reply-To: <20211130003902.1884-1-kuqin12@gmail.com> References: <20211130003902.1884-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=1638232773; bh=Io+4Ps2Cf3QJDYPGGsGBpyntEpSMoUwRxX0lFakQyTI=; h=Cc:Date:From:Reply-To:Subject:To; b=fQl9T8OUk5zLNrX2mS9qDLOMsTwjByHuAgnsJhVDUwMyPhi43Bkv8kXmhFA3Hc4sGQc M07ExjhpofWCUUJvC53P5SPhIWpDNk+1ILVbkISmYxBAdmOQT6gCIPK9zFxtMMzH0f9pd BIWPaTcClE2LsTaUteD5jQbdKtJv+O2Q5Ds= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1638232774539100003 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 --- 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 6ae69dffe025..486f95720c92 100644 --- a/MdeModulePkg/Universal/Variable/RuntimeDxe/VariablePolicySmmDxe.c +++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/VariablePolicySmmDxe.c @@ -88,7 +88,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*)(PolicyHeade= r + 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; @@ -208,7 +208,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; @@ -266,7 +266,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; @@ -395,7 +395,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.32.0.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 (#84141): https://edk2.groups.io/g/devel/message/84141 Mute This Topic: https://groups.io/mt/87392596/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-