Pushed via: PR - https://github.com/tianocore/edk2/pull/2592 Commit - https://github.com/tianocore/edk2/commit/79f2734e5a7bc2e5256eb0e599f45407855159c7
Best Regards, Hao Wu > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Wu, Hao > A > Sent: Thursday, March 3, 2022 2:43 PM > To: Ma, Hua <hua...@intel.com>; devel@edk2.groups.io > Cc: Wang, Jian J <jian.j.w...@intel.com>; Gao, Liming > <gaolim...@byosoft.com.cn>; Ni, Ray <ray...@intel.com> > Subject: Re: [edk2-devel] [PATCH v2] MdeModulePkg: Add a check for > metadata size in NvmExpress Driver > > Reviewed-by: Hao A Wu <hao.a...@intel.com> > > Best Regards, > Hao Wu > > > -----Original Message----- > > From: Ma, Hua <hua...@intel.com> > > Sent: Thursday, March 3, 2022 1:06 PM > > To: devel@edk2.groups.io > > Cc: Wang, Jian J <jian.j.w...@intel.com>; Gao, Liming > > <gaolim...@byosoft.com.cn>; Wu, Hao A <hao.a...@intel.com>; Ni, Ray > > <ray...@intel.com>; Ma, Hua <hua...@intel.com> > > Subject: [PATCH v2] MdeModulePkg: Add a check for metadata size in > > NvmExpress Driver > > > > Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3856 > > > > Currently this NvmeExpress Driver do not support metadata handling. > > According to the NVME specs, metadata may be transferred to the host > > after the logical block data. It can overrun the input buffer which > > may only be the size of logical block data. > > > > Add a check to return not support for the namespaces formatted with > > metadata. > > > > v2 changes: > > - Change debug log level from INFO to ERROR > > - Change to if (NamespaceData->LbaFormat[LbaFmtIdx].Ms != 0) > > > > v1: https://edk2.groups.io/g/devel/message/87242 > > > > Cc: Jian J Wang <jian.j.w...@intel.com> > > Cc: Liming Gao <gaolim...@byosoft.com.cn> > > Cc: Hao A Wu <hao.a...@intel.com> > > Cc: Ray Ni <ray...@intel.com> > > > > Signed-off-by: Hua Ma <hua...@intel.com> > > --- > > MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpress.c | 15 > > +++++++++++++++ > > .../Bus/Pci/NvmExpressPei/NvmExpressPei.c | 15 +++++++++++++++ > > 2 files changed, 30 insertions(+) > > > > diff --git a/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpress.c > > b/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpress.c > > index 5a1eda8e8d..388583e4d5 100644 > > --- a/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpress.c > > +++ b/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpress.c > > @@ -139,6 +139,21 @@ EnumerateNvmeDevNamespace ( > > > > Flbas = NamespaceData->Flbas; > > LbaFmtIdx = Flbas & 0xF; > > + > > + // > > + // Currently this NVME driver only suport Metadata Size == 0 > > + // > > + if (NamespaceData->LbaFormat[LbaFmtIdx].Ms != 0) { > > + DEBUG (( > > + DEBUG_ERROR, > > + "NVME IDENTIFY NAMESPACE [%d] Ms(%d) is not supported.\n", > > + NamespaceId, > > + NamespaceData->LbaFormat[LbaFmtIdx].Ms > > + )); > > + Status = EFI_UNSUPPORTED; > > + goto Exit; > > + } > > + > > Lbads = NamespaceData->LbaFormat[LbaFmtIdx].Lbads; > > Device->Media.BlockSize = (UINT32)1 << Lbads; > > > > diff --git a/MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.c > > b/MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.c > > index f73053fc3f..e8a29f23c7 100644 > > --- a/MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.c > > +++ b/MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.c > > @@ -104,6 +104,21 @@ EnumerateNvmeDevNamespace ( > > // > > Flbas = NamespaceData->Flbas; > > LbaFmtIdx = Flbas & 0xF; > > + > > + // > > + // Currently this NVME driver only suport Metadata Size == 0 // > > + if (NamespaceData->LbaFormat[LbaFmtIdx].Ms != 0) { > > + DEBUG (( > > + DEBUG_ERROR, > > + "NVME IDENTIFY NAMESPACE [%d] Ms(%d) is not supported.\n", > > + NamespaceId, > > + NamespaceData->LbaFormat[LbaFmtIdx].Ms > > + )); > > + Status = EFI_UNSUPPORTED; > > + goto Exit; > > + } > > + > > Lbads = NamespaceData->LbaFormat[LbaFmtIdx].Lbads; > > > > NamespaceInfo->Media.InterfaceType = MSG_NVME_NAMESPACE_DP; > > -- > > 2.32.0.windows.2 > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#87304): https://edk2.groups.io/g/devel/message/87304 Mute This Topic: https://groups.io/mt/89519902/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-