From nobody Wed May 15 15:09:38 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+76304+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+76304+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1623289393; cv=none; d=zohomail.com; s=zohoarc; b=bLQF0NTKYwSHBJoPboPZbEnhEu1jXUwf4tLeQspY5OabJQzpvlf862VNCv/XKTxxuZmNX+qnWVj9xlaFCownCbKliMF+eItg/we4v4uh23gQNwblOIbVjhUPYoj0V3EY64ZG6PtWeo5eYiTzWxSVI20KAiPtYPNn5KVBb5H3cKM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1623289393; 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=8iRH8GID654BuZe0Bvc7PXvlLtnGxeq/NKS3Z3kvIGA=; b=gv0Rs/1pPaJRBO9zIqh/5jpjT7GkaXv3zAcVfJlafejIkkC1uwjLT3hSsx/ZrXesNU06uvvORHdPHb1LysVzGbMmprmng2SoMDRxSFckw5SaqZu1mYSRgN7Nm4aI+NSWwowsXpMFWnJBwl3AhdI7eVhQlhlKoWCp7RPVS4Wclf0= 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+76304+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1623289393584946.1619635094078; Wed, 9 Jun 2021 18:43:13 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id DdLNYY1788612xaqgGrwCjcq; Wed, 09 Jun 2021 18:43:13 -0700 X-Received: from mail-pg1-f171.google.com (mail-pg1-f171.google.com [209.85.215.171]) by mx.groups.io with SMTP id smtpd.web08.4423.1623289392666176456 for ; Wed, 09 Jun 2021 18:43:12 -0700 X-Received: by mail-pg1-f171.google.com with SMTP id i34so14807778pgl.9 for ; Wed, 09 Jun 2021 18:43:12 -0700 (PDT) X-Gm-Message-State: cBn9NVwEkqtAlOoj3IBNmLA9x1787277AA= X-Google-Smtp-Source: ABdhPJx7xLBJ27+qhVQ2geaZ50wDsCyCymzzyFQ4LTC/aYy09JizfWJLS0CaAOQJEaJEpYELXC60sg== X-Received: by 2002:a63:4e50:: with SMTP id o16mr2534893pgl.140.1623289392060; Wed, 09 Jun 2021 18:43:12 -0700 (PDT) X-Received: from localhost.localdomain ([50.35.88.161]) by smtp.gmail.com with ESMTPSA id p20sm624990pff.204.2021.06.09.18.43.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 18:43:11 -0700 (PDT) From: "Kun Qin" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Andrew Fish , Laszlo Ersek , Leif Lindholm Subject: [edk2-devel] [PATCH v1 1/5] EDK2 Code First: PI Specification: EFI_MM_COMMUNICATE_HEADER Update Date: Wed, 9 Jun 2021 18:42:55 -0700 Message-Id: <20210610014259.1151-2-kuqin12@gmail.com> In-Reply-To: <20210610014259.1151-1-kuqin12@gmail.com> References: <20210610014259.1151-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=1623289393; bh=dXVMVE+l2dc7QX9KU8aqZtD4ygHKMN4ZvYo4x9FYLSo=; h=Cc:Date:From:Reply-To:Subject:To; b=rHzHFBJ0HUkwEAUYwSV3tlvN7ri/HkzKvo1p3qmZKjBEszgB6+APjzRssnu8xUKa46y uaV1PpRhi9FY4Tff/bgqdlvSvSomT5cx5yoFL9Jjhnvl8eezYre/K/hsi8s18pRHQw5vm Ci4tJF7XV6gEJqc81XHBE///m3LKCG6XfDk= 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 Signed-off-by: Kun Qin --- BZ3430-SpecChange.md | 88 ++++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/BZ3430-SpecChange.md b/BZ3430-SpecChange.md new file mode 100644 index 000000000000..33a1ffda447b --- /dev/null +++ b/BZ3430-SpecChange.md @@ -0,0 +1,88 @@ +# 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 +``` + +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 +``` + +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 (#76304): https://edk2.groups.io/g/devel/message/76304 Mute This Topic: https://groups.io/mt/83435922/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 Wed May 15 15:09:38 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+76305+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+76305+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1623289394; cv=none; d=zohomail.com; s=zohoarc; b=U5/0eShU2NSqHKjxO47owuufE8jWv110j0mIkriRfAh+x/6qabJwpCUhMhDJwn9XrxSSKNn/PASCabgFYw2I+JNQqdZ/FaJSxaGJrkqacJlOlYjk5sFi/6KFRIbsKMQ7fZHkUG/VBvn4ZhcoU0cPFXYxxw5aOmA7hXoSHdZ7gBE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1623289394; 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=s6Sa9sIJ0P5dKml2dMcMV1QBrj+uZW8rYF5R0cPzCMg=; b=hFFChjNes3dkL4l9K7nvFqm1ePkPqiSgSSXqdpe1+mnvCcs4lbhtacM08AvZn50WVdfx0xMNceekz/v8ObwUAwgunpk7QMuWmFUlwT9lnELYefr0+aTfIr9xlqrkQ2hdMlrdAyiGaVt4QPmTyLhLhX8J31lK7gvhlcE752s11L8= 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+76305+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1623289394565722.8890854858286; Wed, 9 Jun 2021 18:43:14 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id SuoQYY1788612xCCk6l7kWfX; Wed, 09 Jun 2021 18:43:14 -0700 X-Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) by mx.groups.io with SMTP id smtpd.web08.4424.1623289393736188653 for ; Wed, 09 Jun 2021 18:43:13 -0700 X-Received: by mail-pf1-f181.google.com with SMTP id h12so268221pfe.2 for ; Wed, 09 Jun 2021 18:43:13 -0700 (PDT) X-Gm-Message-State: EJ5qG3INJ6eAuP6sEtr7mBAvx1787277AA= X-Google-Smtp-Source: ABdhPJwkRRSruqSs0rlaYmKG/zrBFffmP5ITr7mtqwJoyWfMgSHlrhrxiCDWUUOkOEZrEN3bhxhyiQ== X-Received: by 2002:a63:5a5d:: with SMTP id k29mr2454513pgm.215.1623289393147; Wed, 09 Jun 2021 18:43:13 -0700 (PDT) X-Received: from localhost.localdomain ([50.35.88.161]) by smtp.gmail.com with ESMTPSA id p20sm624990pff.204.2021.06.09.18.43.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 18:43:12 -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 v1 2/5] MdeModulePkg: PiSmmIpl: Update MessageLength calculation for MmCommunicate Date: Wed, 9 Jun 2021 18:42:56 -0700 Message-Id: <20210610014259.1151-3-kuqin12@gmail.com> In-Reply-To: <20210610014259.1151-1-kuqin12@gmail.com> References: <20210610014259.1151-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=1623289394; bh=scGDw9SA0RSqo5OnRwtTRYZ49JaeyliqWtAnDn7QkCw=; h=Cc:Date:From:Reply-To:Subject:To; b=IwC+Mu8Y1sP20zPsmqJN3RaVuv53r2c4KORfx2iF6qa/Khkqzjp27gjI0QiEUbEbOPz WanTMm+uVaxsLeT9HtzwkUXR3A6rv3Kd/IdathvoKLwXNnEM79VaZgbybE5nIU2b82hSH oX/tucgdOiZ08lpWQLAec069BONqVHIXw8M= 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 --- MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c | 13 ++++++++++++- MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c b/MdeModulePkg/Core/PiS= mmCore/PiSmmIpl.c index 599a0cd01d80..9508715fda24 100644 --- a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c +++ b/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c @@ -34,6 +34,7 @@ #include #include #include +#include // BZ3398 =20 #include "PiSmmCorePrivateData.h" =20 @@ -515,6 +516,7 @@ SmmCommunicationCommunicate ( EFI_STATUS Status; EFI_SMM_COMMUNICATE_HEADER *CommunicateHeader; BOOLEAN OldInSmm; + UINT64 BZ3398_LongCommSize; UINTN TempCommSize; =20 // @@ -527,7 +529,16 @@ 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; + // BZ3398 Starts: Make MessageLength the same size in EFI_MM_COMMUNICA= TE_HEADER for both IA32 and X64. + Status =3D SafeUint64Add (OFFSET_OF (EFI_SMM_COMMUNICATE_HEADER, Data)= , CommunicateHeader->MessageLength, &BZ3398_LongCommSize); + if (EFI_ERROR (Status)) { + return EFI_INVALID_PARAMETER; + } + Status =3D SafeUint64ToUintn (BZ3398_LongCommSize, &TempCommSize); + if (EFI_ERROR (Status)) { + return EFI_INVALID_PARAMETER; + } + // BZ3398 Ends } else { TempCommSize =3D *CommSize; // diff --git a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf b/MdeModulePkg/Core/P= iSmmCore/PiSmmIpl.inf index 6109d6b5449c..87142e27fa47 100644 --- a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf +++ b/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf @@ -46,6 +46,7 @@ [LibraryClasses] DxeServicesLib PcdLib ReportStatusCodeLib + SafeIntLib #BZ3398 =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 (#76305): https://edk2.groups.io/g/devel/message/76305 Mute This Topic: https://groups.io/mt/83435923/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 Wed May 15 15:09:38 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+76306+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+76306+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1623289398; cv=none; d=zohomail.com; s=zohoarc; b=EziD8F0W8sfLiJHlqZ9W4vQNCirqNVdrgaJRYpt3VxvXrRT+0EcmoXDw2RtVdzaexRGPII4Ma3wOBcAFLcEXIHAy/GZuPUrkvZnwOz9CM4RnMcF8RLHZwuX4tKoH59rhVGrOSN6JBF+TYH4serpugO5ytjY1cuG68qbaLGAcs6k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1623289398; 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=KP4AGguAUTtlX6gLc2VcWDu9sNi+W8aXqjiu4yXyPlE=; b=O++fWvctUtTxc+Gv/AZggTMKpL28h28r9ocstQC+IgiWivzyb/zSwgKc7zn6l2A8sXpUrlAhb1UBqrSkhZhTF4SZ4giP6i14+ua/ApAtIZa/RVsXFIg7jnxACxwDarhYt9VAotyfP0Hk5o6XSmbz6CfUYoEyGVJvKccrR3ER5oA= 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+76306+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1623289398346455.6825262661001; Wed, 9 Jun 2021 18:43:18 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 0VhRYY1788612xdeJp50IzOn; Wed, 09 Jun 2021 18:43:14 -0700 X-Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) by mx.groups.io with SMTP id smtpd.web12.4492.1623289394442307426 for ; Wed, 09 Jun 2021 18:43:14 -0700 X-Received: by mail-pg1-f182.google.com with SMTP id e22so21226485pgv.10 for ; Wed, 09 Jun 2021 18:43:14 -0700 (PDT) X-Gm-Message-State: Y5EpdbV2tmqFU4u5bpbAjnXkx1787277AA= X-Google-Smtp-Source: ABdhPJyE1E7gAwOj7PtpeACogQicvJYOj9RHR4Hlaa9d+lK4d4Tk4/Nnnw5ccgdIiTh4TJFP7ceffA== X-Received: by 2002:a63:9f19:: with SMTP id g25mr2503199pge.265.1623289393813; Wed, 09 Jun 2021 18:43:13 -0700 (PDT) X-Received: from localhost.localdomain ([50.35.88.161]) by smtp.gmail.com with ESMTPSA id p20sm624990pff.204.2021.06.09.18.43.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 18:43:13 -0700 (PDT) From: "Kun Qin" To: devel@edk2.groups.io Cc: Jian J Wang , Hao A Wu Subject: [edk2-devel] [PATCH v1 3/5] MdeModulePkg: MemoryProfileInfo: Updated MessageLength calculation Date: Wed, 9 Jun 2021 18:42:57 -0700 Message-Id: <20210610014259.1151-4-kuqin12@gmail.com> In-Reply-To: <20210610014259.1151-1-kuqin12@gmail.com> References: <20210610014259.1151-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=1623289394; bh=4HkOA3W4aMHcV2yC+wrAQvbOO3PA3rGfMpV1WexgZSM=; h=Cc:Date:From:Reply-To:Subject:To; b=YxqR2Ap1ho/VCfvq8/qIbAAJZBuBy+Z86XwYfmDwm5sLQJvGCFheotOIljECUa4Ymjt G7uFFmOhAbP4PpTvhfPCAm1tzOdN6IoOmNSeh+4vYnNfTk4OpYZ1N1avazjZmwfUY+C6F 0oDFxOK4xKBF2n6sid0vU3InsLNm3P3Rej8= 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 --- MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.c | 20 ++++++= +++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.c= b/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.c index 191c31068545..39ed8b2e0484 100644 --- a/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.c +++ b/MdeModulePkg/Application/MemoryProfileInfo/MemoryProfileInfo.c @@ -1190,7 +1190,9 @@ 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; + // BZ3398: Make MessageLength the same size in EFI_MM_COMMUNICATE_HEADER= for both IA32 and X64. + // 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,9 @@ 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; + // BZ3398: Make MessageLength the same size in EFI_MM_COMMUNICATE_HEAD= ER for both IA32 and X64. + // 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 +1234,9 @@ GetSmramProfileData ( CommGetProfileInfo->Header.ReturnStatus =3D (UINT64)-1; CommGetProfileInfo->ProfileSize =3D 0; =20 - CommSize =3D sizeof (EFI_GUID) + sizeof (UINTN) + CommHeader->MessageLen= gth; + // BZ3398: Make MessageLength the same size in EFI_MM_COMMUNICATE_HEADER= for both IA32 and X64. + // 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 +1267,9 @@ GetSmramProfileData ( CommGetProfileData->Header.DataLength =3D sizeof (*CommGetProfileData); CommGetProfileData->Header.ReturnStatus =3D (UINT64)-1; =20 - CommSize =3D sizeof (EFI_GUID) + sizeof (UINTN) + CommHeader->MessageLen= gth; + // BZ3398: Make MessageLength the same size in EFI_MM_COMMUNICATE_HEADER= for both IA32 and X64. + // 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 +1328,9 @@ 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; + // BZ3398: Make MessageLength the same size in EFI_MM_COMMUNICATE_HEAD= ER for both IA32 and X64. + // 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 (#76306): https://edk2.groups.io/g/devel/message/76306 Mute This Topic: https://groups.io/mt/83435924/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 Wed May 15 15:09:38 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+76307+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+76307+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1623289401; cv=none; d=zohomail.com; s=zohoarc; b=hTMRKCCH4q2ylqIxitM6BsxoqN+lEiJ2phPhCJRqTk6RhXle25e3CiCec/waJMew44eBLrjcrvjKhFQppXhjhHBBN6oekSM2yCSKhI0LkzA5jlq5mI2y3W3UVQBEAd7JoHQhFPezCNGy+/7b3Yll095uHXc05a2ExzPrpU5vwPo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1623289401; 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=vVtOZzykEpYLztNx8WZlaIzVrrnJuKD/FsmEY8AeZPY=; b=W8v+cU87qVbwvuwZl9+7yxb/R4vqx2MIAkYy4qMVqRWh0W4jAYOMwowfxMoWYWgjQpe5k8VaMOMVtWlREly0NDqqRF6XzgbbiwOLHW4Qdwk55KaIIUbksiGCZTjnuZTdPs2yOoB5HHeRNx7OrQt96BD1u3O+4RB1QwwsplAkbNo= 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+76307+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1623289401383676.1232705562154; Wed, 9 Jun 2021 18:43:21 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id OLuWYY1788612x9GxzRHULgA; Wed, 09 Jun 2021 18:43:21 -0700 X-Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) by mx.groups.io with SMTP id smtpd.web09.4467.1623289395591395149 for ; Wed, 09 Jun 2021 18:43:15 -0700 X-Received: by mail-pj1-f41.google.com with SMTP id h16so2684755pjv.2 for ; Wed, 09 Jun 2021 18:43:15 -0700 (PDT) X-Gm-Message-State: 3ISHAZIEs4AfyQbWDgdrwv1mx1787277AA= X-Google-Smtp-Source: ABdhPJyKMccADQtUtj7DGPgmelQbtwO/R5mmzZJiRrmytrj8lEs2E4aMn+9kRXAKDwrA1UTVQHZBxA== X-Received: by 2002:a17:90a:17c6:: with SMTP id q64mr54730pja.56.1623289394919; Wed, 09 Jun 2021 18:43:14 -0700 (PDT) X-Received: from localhost.localdomain ([50.35.88.161]) by smtp.gmail.com with ESMTPSA id p20sm624990pff.204.2021.06.09.18.43.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 18:43:14 -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 v1 4/5] MdeModulePkg: SmiHandlerProfileInfo: Updated MessageLength calculation Date: Wed, 9 Jun 2021 18:42:58 -0700 Message-Id: <20210610014259.1151-5-kuqin12@gmail.com> In-Reply-To: <20210610014259.1151-1-kuqin12@gmail.com> References: <20210610014259.1151-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=1623289401; bh=zlOF3+W5EuWueN9I5MWuwFPinaIpDy4tJsEhYaTrp+A=; h=Cc:Date:From:Reply-To:Subject:To; b=hWU9u0+jJ4UgcncPk1DcJRK1zzXym2+36c/8g1ieoJr2+dxuA4YWN2CeX+fjnGLzJ8/ /+5pDAPz6zc1CWU1kT4zMTJeVPcIonEPdh0zNlbNQQKx55/Zty5nTbWDGQklb9goGXZrV FmLCFSHld08WgEVD/5XVk49eUMnuWJVRhww= 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 --- MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c | 8= ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfi= leInfo.c b/MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfile= Info.c index 4153074b7a80..56d80d1a9ce1 100644 --- a/MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c +++ b/MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c @@ -116,7 +116,9 @@ GetSmiHandlerProfileDatabase( CommGetInfo->Header.ReturnStatus =3D (UINT64)-1; CommGetInfo->DataSize =3D 0; =20 - CommSize =3D sizeof(EFI_GUID) + sizeof(UINTN) + CommHeader->MessageLengt= h; + // BZ3398: Make MessageLength the same size in EFI_MM_COMMUNICATE_HEADER= for both IA32 and X64. + // 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 +151,9 @@ GetSmiHandlerProfileDatabase( CommGetData->Header.DataLength =3D sizeof(*CommGetData); CommGetData->Header.ReturnStatus =3D (UINT64)-1; =20 - CommSize =3D sizeof(EFI_GUID) + sizeof(UINTN) + CommHeader->MessageLengt= h; + // BZ3398: Make MessageLength the same size in EFI_MM_COMMUNICATE_HEADER= for both IA32 and X64. + // 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 (#76307): https://edk2.groups.io/g/devel/message/76307 Mute This Topic: https://groups.io/mt/83435925/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 Wed May 15 15:09:38 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+76308+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+76308+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1623289402; cv=none; d=zohomail.com; s=zohoarc; b=ZwSk+X5DebWvHCmBtKH4v4Y8lg+Nh9t65FKX/06t1QZi/4qlGkyCujJMYBf33z0Nzgyi3VBHrIBoAhKbr7JxfzCD+4jfF/1M5UHonCv5FkSdFAKL/BNuQjCTaUhjqeZ6i6YWJcmxvj0kStxp/fTqQq0s9Ev08nMXb2OLLKdN3+g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1623289402; 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=f804vFIqFozwt1y6dsCzKgf9EIVEkxJx8NdWkqeJ9Qk=; b=AyagGErT59FSJ7eWYhOh83/4vVMCGdzKCoRN5OWiYQQSLn00V6MCtumqyH86GaLwuUHQCvxdH4R4YToINk4aKFrrd0+Ge8eLueo18tI5D22ovFeDxF/wlK/9AJxgkA7ai7w8bC/cZr7BJHW7Pt3VhManhRV4YEdzfV7FmlBOsk4= 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+76308+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1623289402353846.2273134845576; Wed, 9 Jun 2021 18:43:22 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id b82eYY1788612xAhPH2Pgx4l; Wed, 09 Jun 2021 18:43:22 -0700 X-Received: from mail-pg1-f171.google.com (mail-pg1-f171.google.com [209.85.215.171]) by mx.groups.io with SMTP id smtpd.web11.4498.1623289396564132850 for ; Wed, 09 Jun 2021 18:43:16 -0700 X-Received: by mail-pg1-f171.google.com with SMTP id i34so14807897pgl.9 for ; Wed, 09 Jun 2021 18:43:16 -0700 (PDT) X-Gm-Message-State: jaFmz5bi2QUAWupjfsFIfn7gx1787277AA= X-Google-Smtp-Source: ABdhPJzuGniuWHa4//qHpcXeDcgNzFl21kqIy384r2qIC5lKkkOnWNaljIr1Oj0NdDRwCqRfd5Yjpg== X-Received: by 2002:a05:6a00:15d4:b029:2ea:75b:60f5 with SMTP id o20-20020a056a0015d4b02902ea075b60f5mr627352pfu.4.1623289395958; Wed, 09 Jun 2021 18:43:15 -0700 (PDT) X-Received: from localhost.localdomain ([50.35.88.161]) by smtp.gmail.com with ESMTPSA id p20sm624990pff.204.2021.06.09.18.43.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 18:43:15 -0700 (PDT) From: "Kun Qin" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-devel] [PATCH v1 5/5] MdePkg: MmCommunication: Extend MessageLength field size to UINT64 Date: Wed, 9 Jun 2021 18:42:59 -0700 Message-Id: <20210610014259.1151-6-kuqin12@gmail.com> In-Reply-To: <20210610014259.1151-1-kuqin12@gmail.com> References: <20210610014259.1151-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=1623289402; bh=eD6fNxNzl8g3Qg1ke8/eJPWiPLt1IJUpXSV5bRERV50=; h=Cc:Date:From:Reply-To:Subject:To; b=ntWFkTxprFuEE2YWzLSVXOxeQQajIFspBRVVIOCYcD0ms43WSaqno/5kgbtQv8PgUo+ MtpEGMyBT+ew0AbOCgHKQIMK+4rJUg53pVtPqSjO3mxbdqEfn3hjt2n3BqPwiG61KMN7R k8eSW3vXVzbi/f4Vk9H3XhtZhH9+FOCUUW0= 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 --- MdePkg/Include/Protocol/MmCommunication.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MdePkg/Include/Protocol/MmCommunication.h b/MdePkg/Include/Pro= tocol/MmCommunication.h index 34c3e2b5a9e3..24d88d3e0b68 100644 --- a/MdePkg/Include/Protocol/MmCommunication.h +++ b/MdePkg/Include/Protocol/MmCommunication.h @@ -26,7 +26,8 @@ typedef struct { /// /// Describes the size of Data (in bytes) and does not include the size = of the header. /// - UINTN MessageLength; + /// BZ3398: Make MessageLength the same size in EFI_MM_COMMUNICATE_HEADE= R for both IA32 and X64. + 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 (#76308): https://edk2.groups.io/g/devel/message/76308 Mute This Topic: https://groups.io/mt/83435926/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-