From nobody Mon Apr 29 11:04:47 2024 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+76739+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+76739+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1624006982; cv=none; d=zohomail.com; s=zohoarc; b=iQUIl7g0PZYP1ilR8xRvD046gUEAP2X4rbtKoYmcBSjR1cenIeJkK0OlM/VzB1T1Dqnb8HQkGPwWzrmDVWvGcKKy8VlBOu9L19D0HwlTqE/HA/JZlagSetuUDyXlHiCq3JNozIMs8RHtxyt+eHPI4befGOFK8bwKLvr6j12/Xrs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624006982; 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=N0BeJNDOlclkcZTFSXgGFYKIj8ijToGv3vjoJYR7dxo=; b=nYWuhBK5FimID0AuNq5O3GK9Y0ccbelWcJ0UcD4ad2wnNa7UJF1dSPBJkiQSh0xgYj9xms5JalEl34KriGTmPWYGrYbHHndu66U7p/ye1g7B06T2VmdLHGZzt+9juNUi3k9w+l8xSNJtlRz4086tuikhI1T8inK4Ov3/quIPH80= 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+76739+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 162400698237773.41230962969075; Fri, 18 Jun 2021 02:03:02 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id KkrOYY1788612xQiezyc9kMY; Fri, 18 Jun 2021 02:03:02 -0700 X-Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) by mx.groups.io with SMTP id smtpd.web08.5356.1624006976655080306 for ; Fri, 18 Jun 2021 02:02:56 -0700 X-Received: by mail-pf1-f182.google.com with SMTP id u18so1842008pfk.11 for ; Fri, 18 Jun 2021 02:02:56 -0700 (PDT) X-Gm-Message-State: gcBMbbjEzk6z1uS1NbliLOk9x1787277AA= X-Google-Smtp-Source: ABdhPJymcFt9H4qa1sao0fg5eO1s4uJBjtlPmql3Zov1nfVMolAr3lFNQuZPTpxMbETHM91nrfsgfg== X-Received: by 2002:a63:bc19:: with SMTP id q25mr9098396pge.211.1624006975806; Fri, 18 Jun 2021 02:02:55 -0700 (PDT) X-Received: from localhost.localdomain ([50.35.88.161]) by smtp.gmail.com with ESMTPSA id b1sm7702512pgb.91.2021.06.18.02.02.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jun 2021 02:02:55 -0700 (PDT) From: "Kun Qin" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Andrew Fish , Laszlo Ersek , Leif Lindholm , Hao A Wu Subject: [edk2-devel] [PATCH v2 1/6] EDK2 Code First: PI Specification: EFI_MM_COMMUNICATE_HEADER Update Date: Fri, 18 Jun 2021 02:02:38 -0700 Message-Id: <20210618090243.2517-2-kuqin12@gmail.com> In-Reply-To: <20210618090243.2517-1-kuqin12@gmail.com> References: <20210618090243.2517-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=1624006982; bh=q8/M3UxLWccQemXY3UW4UyE9RXcjPuun2yUqt6nosUM=; h=Cc:Date:From:Reply-To:Subject:To; b=OeLIuXyEddDJi/OwONWIWwh62gohKa2GxyV8R6G4l7N2DeNj1Baj+Iw1HEmNW45yPIw nkQPkNAXcULzvAF+dseUvKbFgrDHokMKI0VDm0ZVH/Lzu7rVkIaf5MxbV7zT6Vg+XiwbH ve4Ur3O647+xjOJ3p3G6M0KDlOrw4/WXEf0= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3430 This change includes specification update markdown file that describes the proposed PI Specification v1.7 Errata A in detail and potential impact to the existing codebase. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Andrew Fish Cc: Laszlo Ersek Cc: Leif Lindholm Cc: Hao A Wu Signed-off-by: Kun Qin --- Notes: v2: - Updated change impact analysis regarding SmmLockBoxDxeLib [Hao] BZ3430-SpecChange.md | 90 ++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/BZ3430-SpecChange.md b/BZ3430-SpecChange.md new file mode 100644 index 000000000000..a4f8b397e822 --- /dev/null +++ b/BZ3430-SpecChange.md @@ -0,0 +1,90 @@ +# Title: Change MessageLength Field of EFI_MM_COMMUNICATE_HEADER to UINT64 + +## Status: Draft + +## Document: UEFI Platform Initialization Specification Version 1.7 Errata= A + +## License + +SPDX-License-Identifier: CC-BY-4.0 + +## Submitter: [TianoCore Community](https://www.tianocore.org) + +## Summary of the change + +Change the `MessageLength` Field of `EFI_MM_COMMUNICATE_HEADER` from UINTN= to UINT64 to remove architecture dependency: + +```c +typedef struct { + EFI_GUID HeaderGuid; + UINT64 MessageLength; + UINT8 Data[ANYSIZE_ARRAY]; +} EFI_MM_COMMUNICATE_HEADER; +``` + +## Benefits of the change + +In PI Spec v1.7 Errata A, Vol.4, Sec 5.7 MM Communication Protocol, the Me= ssageLength field of `EFI_MM_COMMUNICATE_HEADER` (also defined as `EFI_SMM_= COMMUNICATE_HEADER`) is defined as type UINTN. + +But this structure, as a generic definition, could be used for both PEI an= d DXE MM communication. Thus for a system that supports PEI MM launch, but = operates PEI in 32bit mode and MM foundation in 64bit, the current `EFI_MM_= COMMUNICATE_HEADER` definition will cause structure parse error due to UINT= N used. + +## Impact of the change + +This change will impact the known structure consumers including: + +```bash +MdeModulePkg/Core/PiSmmCore/PiSmmIpl +MdeModulePkg/Application/SmiHandlerProfileInfo +MdeModulePkg/Application/MemoryProfileInfo +MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib +``` + +For consumers that are not using `OFFSET_OF(EFI_MM_COMMUNICATE_HEADER, Dat= a)`, but performing explicit addition such as the existing MdeModulePkg/App= lication/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c, one will need to ch= ange code implementation to match new structure definition. Otherwise, the = code compiled on IA32 architecture will experience structure field derefere= nce error. + +User who currently uses UINTN local variables as place holder of MessageLe= ngth will need to use caution to make cast from UINTN to UINT64 and vice ve= rsa. It is recommended to use `SafeUint64ToUintn` for such operations when = the value is indeterministic. + +Note: MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib is also consumin= g this structure, but it handled this size discrepancy internally. If this = potential spec change is not applied, all applicable PEI MM communicate cal= lers will need to use the same routine as that of SmmLockBoxPeiLib to invok= e a properly populated EFI_MM_COMMUNICATE_HEADER to be used in X64 MM found= ation. + +## Detailed description of the change [normative updates] + +### Specification Changes + +1. In PI Specification v1.7 Errata A: Vol. 4 Page-91, the definition of `E= FI_MM_COMMUNICATE_HEADER` should be changed from current: + +```c +typedef struct { + EFI_GUID HeaderGuid; + UINTN MessageLength; + UINT8 Data[ANYSIZE_ARRAY]; +} EFI_MM_COMMUNICATE_HEADER; +``` + +to: + +```c +typedef struct { + EFI_GUID HeaderGuid; + UINT64 MessageLength; + UINT8 Data[ANYSIZE_ARRAY]; +} EFI_MM_COMMUNICATE_HEADER; +``` + +### Code Changes + +1. Remove the explicit calculation of the offset of `Data` in `EFI_MM_COMM= UNICATE_HEADER`. Thus applicable calculations of `sizeof(EFI_GUID) + sizeof= (UINTN)` should be replaced with `OFFSET_OF(EFI_MM_COMMUNICATE_HEADER, Data= )` or similar alternatives. These calculations are identified in: + +```bash +MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c +MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.c +MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.c +``` + +1. Resolve potentially mismatched type between `UINTN` and `UINT64`. This = would occur when `MessageLength` or its derivitive are used for local calcu= lation with existing `UINTN` typed variables. Code change regarding this pe= rspective is per case evaluation: if the variables involved are all determi= nistic values, and there is no overflow or underflow risk, a cast operation= (from `UINTN` to `UINT64`) can be safely used. Otherwise, the calculation = will be performed in `UINT64` bitwidth and then convert to `UINTN` using `S= afeUint64*` and `SafeUint64ToUintn`, respectively. These operations are ide= ntified in: + +```bash +MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c +MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c +MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.c +``` + +1. After all above changes applied and specification updated, `MdePkg/Incl= ude/Protocol/MmCommunication.h` will need to be updated to match new defini= tion that includes the field type update. --=20 2.31.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 (#76739): https://edk2.groups.io/g/devel/message/76739 Mute This Topic: https://groups.io/mt/83624115/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- From nobody Mon Apr 29 11:04:47 2024 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+76740+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+76740+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1624006978; cv=none; d=zohomail.com; s=zohoarc; b=I1C2aCC3fPgnbDYM+q8vVwkjw4Udf3BrHFg/VHSAGrhF2yWWyxsBg8aHk2ddNh4uXUEXFvX5iCbZ39yTVTcfyDxj9GKRemfuIDa8RgiXHh4ZpdKCsLXkIQeTgG/MH35H1a+cPqcBY3fcZrS2LEg6SlXrmiDc9nFQJBWmv+5a2yk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624006978; 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=Otubgx6S0dEecEyWuqvE61rfnNV2hsVh4KjwE7sWcPA=; b=K9CKG7T/LB9tmqNHT5bCezjBg95rZ/nSAXezrs/GpT/P3lL6B//GY+keVxz1dOQ+CPcjNgEW0zKaBhjoqvez8eMSZlUa7eDaAnj4OsiyGWYiA97By87VPa9tDmPe/Wt2xzvjgyRq83f3YJ2UH3SYxcI5D4alS7IESjmgLi3Veco= 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+76740+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 1624006978643351.662769160566; Fri, 18 Jun 2021 02:02:58 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id z4hxYY1788612xLcE7Zp4oS6; Fri, 18 Jun 2021 02:02:58 -0700 X-Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) by mx.groups.io with SMTP id smtpd.web09.5406.1624006977811444495 for ; Fri, 18 Jun 2021 02:02:57 -0700 X-Received: by mail-pj1-f51.google.com with SMTP id z3-20020a17090a3983b029016bc232e40bso5476174pjb.4 for ; Fri, 18 Jun 2021 02:02:57 -0700 (PDT) X-Gm-Message-State: 6JRSaW8Zp7lo7tNYT60k3yqLx1787277AA= X-Google-Smtp-Source: ABdhPJzA5rui73V8FZnAyT+Q4VFcnbPWs9sfKiPuXCTOktFliaoHozQHaxcvtLlysznGjLUTceRa6w== X-Received: by 2002:a17:902:b203:b029:11b:1549:da0d with SMTP id t3-20020a170902b203b029011b1549da0dmr3776024plr.48.1624006977200; Fri, 18 Jun 2021 02:02:57 -0700 (PDT) X-Received: from localhost.localdomain ([50.35.88.161]) by smtp.gmail.com with ESMTPSA id b1sm7702512pgb.91.2021.06.18.02.02.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jun 2021 02:02:56 -0700 (PDT) From: "Kun Qin" To: devel@edk2.groups.io Cc: Jian J Wang , Hao A Wu , Eric Dong , Ray Ni Subject: [edk2-devel] [PATCH v2 2/6] MdeModulePkg: PiSmmIpl: Update MessageLength calculation for MmCommunicate Date: Fri, 18 Jun 2021 02:02:39 -0700 Message-Id: <20210618090243.2517-3-kuqin12@gmail.com> In-Reply-To: <20210618090243.2517-1-kuqin12@gmail.com> References: <20210618090243.2517-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=1624006978; bh=+vqfnY0vAfqvRCXdf1uaHxoZAhNY7ZvOV/hATKbBBAY=; h=Cc:Date:From:Reply-To:Subject:To; b=Ciz0qr9pJid+G1fKBSKytK0GvPHgJtd/RFA+npgxpJHPxVtUTmizbalr8w8ppvIx2+h VjepnzKS4Ix78Qa/WDa5UNiBfjcC1d34mfIn1rIIWNn39A6T2DC9fdnNp2qM08z1x3Q/h Tv4DvqF+YU5c4mV6BufxasL6C1+P/RWWZN0= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3398 This change updated calculation routine for MM communication in PiSmmIpl. It removes ambiguity brought in by UINTN variables from this routine and paves way for updating definition of field MessageLength in EFI_MM_COMMUNICATE_HEADER to definitive size. Cc: Jian J Wang Cc: Hao A Wu Cc: Eric Dong Cc: Ray Ni Signed-off-by: Kun Qin Reviewed-by: Hao A Wu --- Notes: v2: - Removed "BZ" tags from comments and variables [Hao] - Added "Reviewed-by" tag [Hao] MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c | 11 ++++++++++- MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c b/MdeModulePkg/Core/PiS= mmCore/PiSmmIpl.c index 599a0cd01d80..01cde6cfc3e4 100644 --- a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c +++ b/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c @@ -34,6 +34,7 @@ #include #include #include +#include =20 #include "PiSmmCorePrivateData.h" =20 @@ -515,6 +516,7 @@ SmmCommunicationCommunicate ( EFI_STATUS Status; EFI_SMM_COMMUNICATE_HEADER *CommunicateHeader; BOOLEAN OldInSmm; + UINT64 LongCommSize; UINTN TempCommSize; =20 // @@ -527,7 +529,14 @@ SmmCommunicationCommunicate ( CommunicateHeader =3D (EFI_SMM_COMMUNICATE_HEADER *) CommBuffer; =20 if (CommSize =3D=3D NULL) { - TempCommSize =3D OFFSET_OF (EFI_SMM_COMMUNICATE_HEADER, Data) + Commun= icateHeader->MessageLength; + Status =3D SafeUint64Add (OFFSET_OF (EFI_SMM_COMMUNICATE_HEADER, Data)= , CommunicateHeader->MessageLength, &LongCommSize); + if (EFI_ERROR (Status)) { + return EFI_INVALID_PARAMETER; + } + Status =3D SafeUint64ToUintn (LongCommSize, &TempCommSize); + if (EFI_ERROR (Status)) { + return EFI_INVALID_PARAMETER; + } } else { TempCommSize =3D *CommSize; // diff --git a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf b/MdeModulePkg/Core/P= iSmmCore/PiSmmIpl.inf index 6109d6b5449c..ddeb39cee266 100644 --- a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf +++ b/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf @@ -46,6 +46,7 @@ [LibraryClasses] DxeServicesLib PcdLib ReportStatusCodeLib + SafeIntLib =20 [Protocols] gEfiSmmBase2ProtocolGuid ## PRODUCES --=20 2.31.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 (#76740): https://edk2.groups.io/g/devel/message/76740 Mute This Topic: https://groups.io/mt/83624116/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- From nobody Mon Apr 29 11:04:47 2024 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+76741+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+76741+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1624006979; cv=none; d=zohomail.com; s=zohoarc; b=bGVotqzaS8jK5ZAOWSex1McPMhbKNksAUwttJySQclxdE6Hy0VUA3GPgeqbR+75kyj3zERKVUEO+ST6CaaPINfGrfHDJlQLQmPUTWwfdnMYaFiMXPbVMcjCUdVwGOZqcNrzKr8JrPdiNdGXXFAa1M4Bhtm7co0zcuELKU4uXHko= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624006979; 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=ZWxeUvsbOGpuQJo4PHQ2ecGALZaKPZbozTeKEJo5itg=; b=ibrwwTbznomnZLYOVm7DCwQTS17CbTUvKGn+9rkcXSrs3PGtGRresmZQBwqUHuLiCwb5VT9PouN+aEmTWm/K3/SB31Z6cnnQGP8Hzm2AWFVFtAuVORLVWLBX+f7ar61xkk8MCPZVhA/m2v0El5xdOsD3pntAcRouR7kVSuJsVMY= 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+76741+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 1624006979477659.9951341114139; Fri, 18 Jun 2021 02:02:59 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Om3YYY1788612xiTHAyaXfyS; Fri, 18 Jun 2021 02:02:59 -0700 X-Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) by mx.groups.io with SMTP id smtpd.web09.5407.1624006978675144809 for ; Fri, 18 Jun 2021 02:02:58 -0700 X-Received: by mail-pj1-f52.google.com with SMTP id 13-20020a17090a08cdb029016eed209ca4so5495689pjn.1 for ; Fri, 18 Jun 2021 02:02:58 -0700 (PDT) X-Gm-Message-State: lxIXXaHfjnA8wCVojnFw6Ghrx1787277AA= X-Google-Smtp-Source: ABdhPJw/Ab2pMY57qQEYRmcfVcjsTQgS7rFWnmIsUP2Oxw41n9nY6ABKiiaIWK+Bu2gqy2rLn7mOsQ== X-Received: by 2002:a17:902:ea0d:b029:fb:973:956a with SMTP id s13-20020a170902ea0db02900fb0973956amr3890194plg.79.1624006977971; Fri, 18 Jun 2021 02:02:57 -0700 (PDT) X-Received: from localhost.localdomain ([50.35.88.161]) by smtp.gmail.com with ESMTPSA id b1sm7702512pgb.91.2021.06.18.02.02.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jun 2021 02:02:57 -0700 (PDT) From: "Kun Qin" To: devel@edk2.groups.io Cc: Jian J Wang , Hao A Wu Subject: [edk2-devel] [PATCH v2 3/6] MdeModulePkg: MemoryProfileInfo: Updated MessageLength calculation Date: Fri, 18 Jun 2021 02:02:40 -0700 Message-Id: <20210618090243.2517-4-kuqin12@gmail.com> In-Reply-To: <20210618090243.2517-1-kuqin12@gmail.com> References: <20210618090243.2517-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=1624006979; bh=IrwKl3OQOgnRtoycGvZa4aW4OXrwC/X/CAMBHbpM+20=; h=Cc:Date:From:Reply-To:Subject:To; b=EbCtEcOFCGYocEuwO7PzsHAbNi4S4FhXxGC72Lz/4S+nO97NbIYaQw7DT1SEX+xm+jP R9pC2tM4j5OzRQQACk8Cm7gQMwmu7pypO148AkhArIQz9tyjcvgkd0n4hLDkSliDJpELf 6tvv/QpewAi4wIdpSmofEGVH0ycJbUZ6DiI= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3398 This change replaced the calculation of communication buffer size from explicitly adding the size of each member with the OFFSET macro function. This will make the structure field defition change transparent to consumers. Cc: Jian J Wang Cc: Hao A Wu Signed-off-by: Kun Qin Reviewed-by: Hao A Wu --- Notes: v2: - Added a missed case this change should cover [Hao] - Removed "BZ" tags from comments [Hao] MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.c | 28 ++++++= +++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.c= b/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.c index 191c31068545..69f78c090e7c 100644 --- a/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.c +++ b/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.c @@ -1140,8 +1140,7 @@ GetSmramProfileData ( return Status; } =20 - MinimalSizeNeeded =3D sizeof (EFI_GUID) + - sizeof (UINTN) + + MinimalSizeNeeded =3D OFFSET_OF(EFI_SMM_COMMUNICATE_HEADER, Data) + MAX (sizeof (SMRAM_PROFILE_PARAMETER_GET_PROFILE_INF= O), MAX (sizeof (SMRAM_PROFILE_PARAMETER_GET_PROFIL= E_DATA_BY_OFFSET), sizeof (SMRAM_PROFILE_PARAMETER_RECORDING_= STATE))); @@ -1190,7 +1189,10 @@ GetSmramProfileData ( CommRecordingState->Header.ReturnStatus =3D (UINT64)-1; CommRecordingState->RecordingState =3D MEMORY_PROFILE_RECORDING_DIS= ABLE; =20 - CommSize =3D sizeof (EFI_GUID) + sizeof (UINTN) + CommHeader->MessageLen= gth; + // + // The CommHeader->MessageLength contains a definitive value, thus UINTN= cast is safe here. + // + CommSize =3D OFFSET_OF(EFI_SMM_COMMUNICATE_HEADER, Data) + (UINTN)CommHe= ader->MessageLength; Status =3D SmmCommunication->Communicate (SmmCommunication, CommBuffer, = &CommSize); if (EFI_ERROR (Status)) { DEBUG ((EFI_D_ERROR, "SmramProfile: SmmCommunication - %r\n", Status)); @@ -1213,7 +1215,10 @@ GetSmramProfileData ( CommRecordingState->Header.ReturnStatus =3D (UINT64)-1; CommRecordingState->RecordingState =3D MEMORY_PROFILE_RECORDING_D= ISABLE; =20 - CommSize =3D sizeof (EFI_GUID) + sizeof (UINTN) + CommHeader->MessageL= ength; + // + // The CommHeader->MessageLength contains a definitive value, thus UIN= TN cast is safe here. + // + CommSize =3D OFFSET_OF(EFI_SMM_COMMUNICATE_HEADER, Data) + (UINTN)Comm= Header->MessageLength; SmmCommunication->Communicate (SmmCommunication, CommBuffer, &CommSize= ); } =20 @@ -1230,7 +1235,10 @@ GetSmramProfileData ( CommGetProfileInfo->Header.ReturnStatus =3D (UINT64)-1; CommGetProfileInfo->ProfileSize =3D 0; =20 - CommSize =3D sizeof (EFI_GUID) + sizeof (UINTN) + CommHeader->MessageLen= gth; + // + // The CommHeader->MessageLength contains a definitive value, thus UINTN= cast is safe here. + // + CommSize =3D OFFSET_OF(EFI_SMM_COMMUNICATE_HEADER, Data) + (UINTN)CommHe= ader->MessageLength; Status =3D SmmCommunication->Communicate (SmmCommunication, CommBuffer, = &CommSize); ASSERT_EFI_ERROR (Status); =20 @@ -1261,7 +1269,10 @@ GetSmramProfileData ( CommGetProfileData->Header.DataLength =3D sizeof (*CommGetProfileData); CommGetProfileData->Header.ReturnStatus =3D (UINT64)-1; =20 - CommSize =3D sizeof (EFI_GUID) + sizeof (UINTN) + CommHeader->MessageLen= gth; + // + // The CommHeader->MessageLength contains a definitive value, thus UINTN= cast is safe here. + // + CommSize =3D OFFSET_OF(EFI_SMM_COMMUNICATE_HEADER, Data) + (UINTN)CommHe= ader->MessageLength; Buffer =3D (UINT8 *) CommHeader + CommSize; Size -=3D CommSize; =20 @@ -1320,7 +1331,10 @@ GetSmramProfileData ( CommRecordingState->Header.ReturnStatus =3D (UINT64)-1; CommRecordingState->RecordingState =3D MEMORY_PROFILE_RECORDING_E= NABLE; =20 - CommSize =3D sizeof (EFI_GUID) + sizeof (UINTN) + CommHeader->MessageL= ength; + // + // The CommHeader->MessageLength contains a definitive value, thus UIN= TN cast is safe here. + // + CommSize =3D OFFSET_OF(EFI_SMM_COMMUNICATE_HEADER, Data) + (UINTN)Comm= Header->MessageLength; SmmCommunication->Communicate (SmmCommunication, CommBuffer, &CommSize= ); } =20 --=20 2.31.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 (#76741): https://edk2.groups.io/g/devel/message/76741 Mute This Topic: https://groups.io/mt/83624117/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- From nobody Mon Apr 29 11:04:47 2024 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+76742+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+76742+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1624006980; cv=none; d=zohomail.com; s=zohoarc; b=e92Zh/N4DIWbQdHeB8LBOJq+xbBu+slVXsO0lABS98mXYXpXJbFIP5crkWgQIwL5F7/mOh/IjQbFt1gPd/pZL8mt23nRlF2N+LpwdfcJQ/4mLtyoNIzm0j0qp2rNjhDXE1Q7YB2ZOk2fTeZL6H30fJa7YZ7kfHIOy3Tk9hF5e1U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624006980; 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=G8kKEqGu2flud9Eb33I+/WjB2Gvf/c5/fG3+QE0Lf8o=; b=IAY0Mx+Dvutxg0UclsZPO2Tv6fiOtDHPYGeWl5spOtleRU6wx3rrBc3eIqWZjys99fdbTSuKliZjtjEqpSnY+lvBPs39rCDzJRI5Uzb9/xhsAyr0HZnXSRwMXq1W0nNVsXQGhK+ui1jYA/vt6H8NHpripXnoXMvaDdzYfQZYn70= 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+76742+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 1624006980390321.33958731018015; Fri, 18 Jun 2021 02:03:00 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id u9ZMYY1788612xHIySNnhVlC; Fri, 18 Jun 2021 02:03:00 -0700 X-Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by mx.groups.io with SMTP id smtpd.web10.5391.1624006979535587865 for ; Fri, 18 Jun 2021 02:02:59 -0700 X-Received: by mail-pg1-f170.google.com with SMTP id t9so7261789pgn.4 for ; Fri, 18 Jun 2021 02:02:59 -0700 (PDT) X-Gm-Message-State: ZFhifx7OKV8qFBLoQLcJLbK3x1787277AA= X-Google-Smtp-Source: ABdhPJzO16vuCZd3H5WKey6G9FY4gKCsy9Bj9T9Q9Yj21JYjen+M0IMjObJWNCawWBw8wAjGEm+oFQ== X-Received: by 2002:a63:4d4:: with SMTP id 203mr2114408pge.65.1624006978915; Fri, 18 Jun 2021 02:02:58 -0700 (PDT) X-Received: from localhost.localdomain ([50.35.88.161]) by smtp.gmail.com with ESMTPSA id b1sm7702512pgb.91.2021.06.18.02.02.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jun 2021 02:02:58 -0700 (PDT) From: "Kun Qin" To: devel@edk2.groups.io Cc: Jian J Wang , Hao A Wu , Eric Dong , Ray Ni Subject: [edk2-devel] [PATCH v2 4/6] MdeModulePkg: SmiHandlerProfileInfo: Updated MessageLength calculation Date: Fri, 18 Jun 2021 02:02:41 -0700 Message-Id: <20210618090243.2517-5-kuqin12@gmail.com> In-Reply-To: <20210618090243.2517-1-kuqin12@gmail.com> References: <20210618090243.2517-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=1624006980; bh=/m6htANWezGYjZt54KIYhWB7slYJgz3dsOSSGuMAScQ=; h=Cc:Date:From:Reply-To:Subject:To; b=QxYGG5dNowljU8sGxsF5Vj3h3iGxkz0VoTNJyBl/8DrBxIMX2zLRwu0QlpJGUeEH5Xj TXTyT3pgazoRykZ4xLFfOmmsfMLGOU37Zijtszp8HqfXmrhzHpzjIsnU1JY0hQLlgqCwR +u7tyVERx8Qq5ipaYNy9FLtKLyhHvhLS4Mw= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3398 This change replaced the calculation of communication buffer size from explicitly adding the size of each member with the OFFSET macro function. This will make the structure field defition change transparent to consumers. Cc: Jian J Wang Cc: Hao A Wu Cc: Eric Dong Cc: Ray Ni Signed-off-by: Kun Qin Reviewed-by: Hao A Wu --- Notes: v2: - Updated comments by removing "BZ" tags [Hao] MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c | 1= 0 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfi= leInfo.c b/MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfile= Info.c index 4153074b7a80..4bfd5946caba 100644 --- a/MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c +++ b/MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c @@ -116,7 +116,10 @@ GetSmiHandlerProfileDatabase( CommGetInfo->Header.ReturnStatus =3D (UINT64)-1; CommGetInfo->DataSize =3D 0; =20 - CommSize =3D sizeof(EFI_GUID) + sizeof(UINTN) + CommHeader->MessageLengt= h; + // + // The CommHeader->MessageLength contains a definitive value, thus UINTN= cast is safe here. + // + CommSize =3D OFFSET_OF(EFI_SMM_COMMUNICATE_HEADER, Data) + (UINTN)CommHe= ader->MessageLength; Status =3D SmmCommunication->Communicate(SmmCommunication, CommBuffer, &= CommSize); if (EFI_ERROR(Status)) { Print(L"SmiHandlerProfile: SmmCommunication - %r\n", Status); @@ -149,7 +152,10 @@ GetSmiHandlerProfileDatabase( CommGetData->Header.DataLength =3D sizeof(*CommGetData); CommGetData->Header.ReturnStatus =3D (UINT64)-1; =20 - CommSize =3D sizeof(EFI_GUID) + sizeof(UINTN) + CommHeader->MessageLengt= h; + // + // The CommHeader->MessageLength contains a definitive value, thus UINTN= cast is safe here. + // + CommSize =3D OFFSET_OF(EFI_SMM_COMMUNICATE_HEADER, Data) + (UINTN)CommHe= ader->MessageLength; Buffer =3D (UINT8 *)CommHeader + CommSize; Size -=3D CommSize; =20 --=20 2.31.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 (#76742): https://edk2.groups.io/g/devel/message/76742 Mute This Topic: https://groups.io/mt/83624118/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- From nobody Mon Apr 29 11:04:47 2024 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+76743+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+76743+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1624006981; cv=none; d=zohomail.com; s=zohoarc; b=Mt2iPAHHop858iylDgu/zW39/zRmGZeNVDQbRZrxTKjSDljYNNeZ5uDNqxJR9y5ISVd1txpAt7QOdwcEDu1G2SlUjSRDK/31y0HumYF+9I3D4G5Ko395AhnMT0bKR5fzk/vVBi7EarRhsbMd8KJVsYbUev0kdADCHSxkBf38ng8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624006981; 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=//NGEFSavha6IxFkKPs7cxun7UPYRNE9Y+u4ky5uuXo=; b=OlKGJgZQVot61tA5B1948Rg8aoTeAn1lzTF4qEX1rhZzBpB6Q1mebyNY8T31d3GN8ql89jg+xEW/QZ92PG0BbUTrt4v6RIQdVVW6Jt8MSJy7L101lJZ3pBJrxV/65HnEQcrIVb5rXX9k9L0EwuUx538s9VSdj+82M6ePEMNnkXo= 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+76743+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 1624006981678749.4471151791373; Fri, 18 Jun 2021 02:03:01 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id mRPmYY1788612xV297QA0isn; Fri, 18 Jun 2021 02:03:01 -0700 X-Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) by mx.groups.io with SMTP id smtpd.web10.5392.1624006980800222285 for ; Fri, 18 Jun 2021 02:03:00 -0700 X-Received: by mail-pl1-f181.google.com with SMTP id o21so4347129pll.6 for ; Fri, 18 Jun 2021 02:03:00 -0700 (PDT) X-Gm-Message-State: jztYYiHHKcnwtTYP9FLXLSwFx1787277AA= X-Google-Smtp-Source: ABdhPJza9rWiEmC3dqu0Rx0vWY3ysEe4MtXQXBlvq6ctMlMpxbJReTyFkygAuA3v8/hy7UWv4kkrvA== X-Received: by 2002:a17:90a:3801:: with SMTP id w1mr21048945pjb.138.1624006980145; Fri, 18 Jun 2021 02:03:00 -0700 (PDT) X-Received: from localhost.localdomain ([50.35.88.161]) by smtp.gmail.com with ESMTPSA id b1sm7702512pgb.91.2021.06.18.02.02.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jun 2021 02:02:59 -0700 (PDT) From: "Kun Qin" To: devel@edk2.groups.io Cc: Jian J Wang , Hao A Wu , Eric Dong , Ray Ni Subject: [edk2-devel] [PATCH v2 5/6] MdeModulePkg: SmmLockBoxDxeLib: Updated MessageLength calculation Date: Fri, 18 Jun 2021 02:02:42 -0700 Message-Id: <20210618090243.2517-6-kuqin12@gmail.com> In-Reply-To: <20210618090243.2517-1-kuqin12@gmail.com> References: <20210618090243.2517-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=1624006981; bh=j0pfo9uWJ8iVxhIRzgT8Clepl+yYPQViZOdKvkKaYTc=; h=Cc:Date:From:Reply-To:Subject:To; b=V+aOdLEsU52Pg4lFrNUmoD9NLydnhWc4ZtuaVIc6EXWl8ruAlD1k4mdCOAj4h3Jg7// nqVOxrS8kXvm/KkhH/yjq06+AwFAXcA2Vw6NiItmIpfnKhICrv5NHJZsj3wBIB0CqmBvt ejgGIKITnKvLFHqxBnz8yvxAZh+SaPCCCmE= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3398 This change replaced the calculation of communication buffer size from explicitly adding the size of each member with the OFFSET macro function. This will make the structure field defition change transparent to consumers. Cc: Jian J Wang Cc: Hao A Wu Cc: Eric Dong Cc: Ray Ni Signed-off-by: Kun Qin Reviewed-by: Hao A Wu --- Notes: v2: - Newly added in v2 MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.c | 23 ++++++++++-----= ----- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.c b/MdeMod= ulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.c index 2cbffe889e1f..66fbe4dd961c 100644 --- a/MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.c +++ b/MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.c @@ -79,8 +79,7 @@ LockBoxGetSmmCommBuffer ( return mLockBoxSmmCommBuffer; } =20 - MinimalSizeNeeded =3D sizeof (EFI_GUID) + - sizeof (UINTN) + + MinimalSizeNeeded =3D OFFSET_OF (EFI_SMM_COMMUNICATE_HEADER, Data) + MAX (sizeof (EFI_SMM_LOCK_BOX_PARAMETER_SAVE), MAX (sizeof (EFI_SMM_LOCK_BOX_PARAMETER_SET_ATT= RIBUTES), MAX (sizeof (EFI_SMM_LOCK_BOX_PARAMETER_UP= DATE), @@ -142,7 +141,7 @@ SaveLockBox ( EFI_SMM_COMMUNICATION_PROTOCOL *SmmCommunication; EFI_SMM_LOCK_BOX_PARAMETER_SAVE *LockBoxParameterSave; EFI_SMM_COMMUNICATE_HEADER *CommHeader; - UINT8 TempCommBuffer[sizeof(EFI_GUID) + sizeof= (UINTN) + sizeof(EFI_SMM_LOCK_BOX_PARAMETER_SAVE)]; + UINT8 TempCommBuffer[OFFSET_OF (EFI_SMM_COMMUN= ICATE_HEADER, Data) + sizeof(EFI_SMM_LOCK_BOX_PARAMETER_SAVE)]; UINT8 *CommBuffer; UINTN CommSize; =20 @@ -182,7 +181,7 @@ SaveLockBox ( // // Send command // - CommSize =3D sizeof(EFI_GUID) + sizeof(UINTN) + sizeof(EFI_SMM_LOCK_BOX_= PARAMETER_SAVE); + CommSize =3D OFFSET_OF (EFI_SMM_COMMUNICATE_HEADER, Data) + sizeof(EFI_S= MM_LOCK_BOX_PARAMETER_SAVE); Status =3D SmmCommunication->Communicate ( SmmCommunication, &CommBuffer[0], @@ -224,7 +223,7 @@ SetLockBoxAttributes ( EFI_SMM_COMMUNICATION_PROTOCOL *SmmCommunication; EFI_SMM_LOCK_BOX_PARAMETER_SET_ATTRIBUTES *LockBoxParameterSetAttributes; EFI_SMM_COMMUNICATE_HEADER *CommHeader; - UINT8 TempCommBuffer[sizeof(EFI_GUID= ) + sizeof(UINTN) + sizeof(EFI_SMM_LOCK_BOX_PARAMETER_SET_ATTRIBUTES)]; + UINT8 TempCommBuffer[OFFSET_OF (EFI_= SMM_COMMUNICATE_HEADER, Data) + sizeof(EFI_SMM_LOCK_BOX_PARAMETER_SET_ATTRI= BUTES)]; UINT8 *CommBuffer; UINTN CommSize; =20 @@ -264,7 +263,7 @@ SetLockBoxAttributes ( // // Send command // - CommSize =3D sizeof(EFI_GUID) + sizeof(UINTN) + sizeof(EFI_SMM_LOCK_BOX_= PARAMETER_SET_ATTRIBUTES); + CommSize =3D OFFSET_OF (EFI_SMM_COMMUNICATE_HEADER, Data) + sizeof(EFI_S= MM_LOCK_BOX_PARAMETER_SET_ATTRIBUTES); Status =3D SmmCommunication->Communicate ( SmmCommunication, &CommBuffer[0], @@ -314,7 +313,7 @@ UpdateLockBox ( EFI_SMM_COMMUNICATION_PROTOCOL *SmmCommunication; EFI_SMM_LOCK_BOX_PARAMETER_UPDATE *LockBoxParameterUpdate; EFI_SMM_COMMUNICATE_HEADER *CommHeader; - UINT8 TempCommBuffer[sizeof(EFI_GUID) + size= of(UINTN) + sizeof(EFI_SMM_LOCK_BOX_PARAMETER_UPDATE)]; + UINT8 TempCommBuffer[OFFSET_OF (EFI_SMM_COMM= UNICATE_HEADER, Data) + sizeof(EFI_SMM_LOCK_BOX_PARAMETER_UPDATE)]; UINT8 *CommBuffer; UINTN CommSize; =20 @@ -355,7 +354,7 @@ UpdateLockBox ( // // Send command // - CommSize =3D sizeof(EFI_GUID) + sizeof(UINTN) + sizeof(EFI_SMM_LOCK_BOX_= PARAMETER_UPDATE); + CommSize =3D OFFSET_OF (EFI_SMM_COMMUNICATE_HEADER, Data) + sizeof(EFI_S= MM_LOCK_BOX_PARAMETER_UPDATE); Status =3D SmmCommunication->Communicate ( SmmCommunication, &CommBuffer[0], @@ -403,7 +402,7 @@ RestoreLockBox ( EFI_SMM_COMMUNICATION_PROTOCOL *SmmCommunication; EFI_SMM_LOCK_BOX_PARAMETER_RESTORE *LockBoxParameterRestore; EFI_SMM_COMMUNICATE_HEADER *CommHeader; - UINT8 TempCommBuffer[sizeof(EFI_GUID) + siz= eof(UINTN) + sizeof(EFI_SMM_LOCK_BOX_PARAMETER_RESTORE)]; + UINT8 TempCommBuffer[OFFSET_OF (EFI_SMM_COM= MUNICATE_HEADER, Data) + sizeof(EFI_SMM_LOCK_BOX_PARAMETER_RESTORE)]; UINT8 *CommBuffer; UINTN CommSize; =20 @@ -449,7 +448,7 @@ RestoreLockBox ( // // Send command // - CommSize =3D sizeof(EFI_GUID) + sizeof(UINTN) + sizeof(EFI_SMM_LOCK_BOX_= PARAMETER_RESTORE); + CommSize =3D OFFSET_OF (EFI_SMM_COMMUNICATE_HEADER, Data) + sizeof(EFI_S= MM_LOCK_BOX_PARAMETER_RESTORE); Status =3D SmmCommunication->Communicate ( SmmCommunication, &CommBuffer[0], @@ -488,7 +487,7 @@ RestoreAllLockBoxInPlace ( EFI_SMM_COMMUNICATION_PROTOCOL *SmmCommunication; EFI_SMM_LOCK_BOX_PARAMETER_RESTORE_ALL_IN_PLACE *LockBoxParameterRestore= AllInPlace; EFI_SMM_COMMUNICATE_HEADER *CommHeader; - UINT8 TempCommBuffer[sizeof(EF= I_GUID) + sizeof(UINTN) + sizeof(EFI_SMM_LOCK_BOX_PARAMETER_RESTORE_ALL_IN_= PLACE)]; + UINT8 TempCommBuffer[OFFSET_OF= (EFI_SMM_COMMUNICATE_HEADER, Data) + sizeof(EFI_SMM_LOCK_BOX_PARAMETER_RES= TORE_ALL_IN_PLACE)]; UINT8 *CommBuffer; UINTN CommSize; =20 @@ -518,7 +517,7 @@ RestoreAllLockBoxInPlace ( // // Send command // - CommSize =3D sizeof(EFI_GUID) + sizeof(UINTN) + sizeof(EFI_SMM_LOCK_BOX_= PARAMETER_RESTORE_ALL_IN_PLACE); + CommSize =3D OFFSET_OF (EFI_SMM_COMMUNICATE_HEADER, Data) + sizeof(EFI_S= MM_LOCK_BOX_PARAMETER_RESTORE_ALL_IN_PLACE); Status =3D SmmCommunication->Communicate ( SmmCommunication, &CommBuffer[0], --=20 2.31.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 (#76743): https://edk2.groups.io/g/devel/message/76743 Mute This Topic: https://groups.io/mt/83624119/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- From nobody Mon Apr 29 11:04:47 2024 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+76744+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+76744+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1624006987; cv=none; d=zohomail.com; s=zohoarc; b=iEn+CdqgDIwFoqHI65nq99+NolWB+gA8+pAz6H/zjjS7BvxLERd9H9uFKD6JuzQ8kgTQPIyIc98LMeIwxgrOg2/HNN6cTw9PbGA83pHnwUsikO0KhHnsl/VT7EMk45efLXznrETQ5pkWGYpKVdB0cxEKWJZTZXT1HoXL3VYGobI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624006987; 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=YdEcC9EpmB3PNGNVO7lUgvPrRX8dA1raYwAKYBZNxYg=; b=imriIJFAInHfNSBgjPTjecoASEpJpnTaI4ATqMm9LK6iZR+kISEjDvpX8CwDisjCOwmtc2OOKRVZ0isTLSjoRhaIwXreHUdqwf5FJa8Ysl7zGBnD1lPBnusV/1trtbDKPD35l4cjnsU87kV5crMXB1GLi8WthuyQODGXOevBgwc= 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+76744+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 1624006987447388.20647812673644; Fri, 18 Jun 2021 02:03:07 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 8w16YY1788612xiOF3wEDHKA; Fri, 18 Jun 2021 02:03:07 -0700 X-Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) by mx.groups.io with SMTP id smtpd.web08.5357.1624006981562574563 for ; Fri, 18 Jun 2021 02:03:01 -0700 X-Received: by mail-pf1-f174.google.com with SMTP id y15so1382585pfl.4 for ; Fri, 18 Jun 2021 02:03:01 -0700 (PDT) X-Gm-Message-State: PNHBSnSOgFkS1LD75GTDZCXrx1787277AA= X-Google-Smtp-Source: ABdhPJzMjvkZXTEuvY34d+KYumKePelPf9LaguKJwinXwdMb+6ceLtXnkRhJT/2oAS4AsdVRItJ50Q== X-Received: by 2002:a05:6a00:24cc:b029:2fe:ec4b:d042 with SMTP id d12-20020a056a0024ccb02902feec4bd042mr4284020pfv.56.1624006980928; Fri, 18 Jun 2021 02:03:00 -0700 (PDT) X-Received: from localhost.localdomain ([50.35.88.161]) by smtp.gmail.com with ESMTPSA id b1sm7702512pgb.91.2021.06.18.02.03.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jun 2021 02:03:00 -0700 (PDT) From: "Kun Qin" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-devel] [PATCH v2 6/6] MdePkg: MmCommunication: Extend MessageLength field size to UINT64 Date: Fri, 18 Jun 2021 02:02:43 -0700 Message-Id: <20210618090243.2517-7-kuqin12@gmail.com> In-Reply-To: <20210618090243.2517-1-kuqin12@gmail.com> References: <20210618090243.2517-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=1624006987; bh=yGNj40bwsh0IjWMCZKsWPDCGYkQpr2egVOGlcZWYeTg=; h=Cc:Date:From:Reply-To:Subject:To; b=tD0kcx4QPSpIA3rVL1hSYHlWjTxzqdHn9F+dxHjmb/s4MPahrllqN1z1+rQsgJ/L4LX J7qVGk2jkaD2RiBAsk9Yjks4mhQbzUDQ//4XR79QVr9hcLrCNkWqQXXbm6jcI9jyNM9x3 jYyuXHcv7NRQeN8sQu+eYLZBokgugfeGgik= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3398 REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3430 The MessageLength field of EFI_MM_COMMUNICATE_HEADER, as a generic definition, could be used for both PEI and DXE MM communication. On a system that supports PEI MM launch, but operates PEI in 32bit mode and MM foundation in 64bit, the current EFI_MM_COMMUNICATE_HEADER definition will cause structure parse error due to UINTN used. This change removes the architecture dependent field by extending this field definition as UINT64. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Kun Qin --- Notes: v2: - Removed comments with "BZ" MdePkg/Include/Protocol/MmCommunication.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MdePkg/Include/Protocol/MmCommunication.h b/MdePkg/Include/Pro= tocol/MmCommunication.h index 34c3e2b5a9e3..d42b00bbeb7c 100644 --- a/MdePkg/Include/Protocol/MmCommunication.h +++ b/MdePkg/Include/Protocol/MmCommunication.h @@ -26,7 +26,7 @@ typedef struct { /// /// Describes the size of Data (in bytes) and does not include the size = of the header. /// - UINTN MessageLength; + UINT64 MessageLength; /// /// Designates an array of bytes that is MessageLength in size. /// --=20 2.31.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 (#76744): https://edk2.groups.io/g/devel/message/76744 Mute This Topic: https://groups.io/mt/83624120/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-