From nobody Sat May 18 22:31:30 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+87242+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+87242+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1646273199; cv=none; d=zohomail.com; s=zohoarc; b=aKfxFaYnS606ofhvqdHs5LPaIRrkF7hM6leWIDULshkfQgBdp6xquS0SB9aHLQWh0Ud57UeYnHDRirskgAqBdBFYC9TPBUivsdcEVso2hUnGp4y6IBmAuJRuumkzF0d+KK01Ap3KgwWKpumGHSVQOhPxyWcJReI+G7xPbQnFSOY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1646273199; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=3uz5G+EQ6k6S0CCgYv0fZwbbFZ5+3BuYZVskxCKP9Ok=; b=VGrw+RlGVEN+Xb4c7Lkt5GvRLmRXyX9WCQgP5kWUUIqZIIQKlblp39beKVb6sPWtuEvDjV3vD3Ty5u0Hrw00yZNv8J+dNh6QOw9QradTNbmF6QneXPwN1wcqiPEFVjRxmEM+1h6qKOvXiVMBKRwdyhDqSUpI0B7YzWOkhn3q14w= 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+87242+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 1646273199246963.2706493345997; Wed, 2 Mar 2022 18:06:39 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id HQiSYY1788612xe9nZZHdK27; Wed, 02 Mar 2022 18:06:38 -0800 X-Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web12.6528.1646273198164688010 for ; Wed, 02 Mar 2022 18:06:38 -0800 X-IronPort-AV: E=McAfee;i="6200,9189,10274"; a="251128993" X-IronPort-AV: E=Sophos;i="5.90,150,1643702400"; d="scan'208";a="251128993" X-Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2022 18:06:37 -0800 X-IronPort-AV: E=Sophos;i="5.90,150,1643702400"; d="scan'208";a="535622835" X-Received: from huama-mobl.ccr.corp.intel.com ([10.239.37.125]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2022 18:06:34 -0800 From: "Ma, Hua" To: devel@edk2.groups.io Cc: jian.j.wang@intel.com, gaoliming@byosoft.com.cn, hao.a.wu@intel.com, ray.ni@intel.com, Hua Ma Subject: [edk2-devel] [PATCH v1] MdeModulePkg: Add a check for metadata size in NvmExpress Driver Date: Thu, 3 Mar 2022 10:06:16 +0800 Message-Id: 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,hua.ma@intel.com X-Gm-Message-State: us6FHgIuH6dMHBRr5hTMSjEwx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1646273198; bh=sw+jMrKXG1ulcyu8QGSw09gVzkw2ABXtPTbsLK5KJR0=; h=Cc:Date:From:Reply-To:Subject:To; b=jeaRTlCwbtuDr0l6tsP5PALzNVLsbkQm7AxwFBgaZdR7Rw5DBhBnJaTYgWEyf1szrT/ 4UrYHRIwG4jaKHkz4sCca27a5cSXrPOWkh3H7k8CyXtuj1slFg5NDo92mDGveHA7B+XEU /nZ+1hgDbuSiMO0WafdUb/tI6A8agSrQj0Q= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1646273201635100001 Content-Type: text/plain; charset="utf-8" Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3856 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. Cc: Jian J Wang Cc: Liming Gao Cc: Hao A Wu Cc: Ray Ni Signed-off-by: Hua Ma --- 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..46b7dcba20 100644 --- a/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpress.c +++ b/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpress.c @@ -139,6 +139,21 @@ EnumerateNvmeDevNamespace ( =20 Flbas =3D NamespaceData->Flbas; LbaFmtIdx =3D Flbas & 0xF; + + // + // Currently this NVME driver only suport Metadata Size =3D=3D 0 + // + if (NamespaceData->LbaFormat[LbaFmtIdx].Ms) { + DEBUG (( + DEBUG_INFO, + "NVME IDENTIFY NAMESPACE [%d] Ms(%d) is not supported.\n", + NamespaceId, + NamespaceData->LbaFormat[LbaFmtIdx].Ms + )); + Status =3D EFI_UNSUPPORTED; + goto Exit; + } + Lbads =3D NamespaceData->LbaFormat[LbaFmtIdx].Lbads; Device->Media.BlockSize =3D (UINT32)1 << Lbads; =20 diff --git a/MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.c b/MdeModule= Pkg/Bus/Pci/NvmExpressPei/NvmExpressPei.c index f73053fc3f..6e27950648 100644 --- a/MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.c +++ b/MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.c @@ -104,6 +104,21 @@ EnumerateNvmeDevNamespace ( // Flbas =3D NamespaceData->Flbas; LbaFmtIdx =3D Flbas & 0xF; + + // + // Currently this NVME driver only suport Metadata Size =3D=3D 0 + // + if (NamespaceData->LbaFormat[LbaFmtIdx].Ms) { + DEBUG (( + DEBUG_INFO, + "NVME IDENTIFY NAMESPACE [%d] Ms(%d) is not supported.\n", + NamespaceId, + NamespaceData->LbaFormat[LbaFmtIdx].Ms + )); + Status =3D EFI_UNSUPPORTED; + goto Exit; + } + Lbads =3D NamespaceData->LbaFormat[LbaFmtIdx].Lbads; =20 NamespaceInfo->Media.InterfaceType =3D MSG_NVME_NAMESPACE_DP; --=20 2.32.0.windows.2 -=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 (#87242): https://edk2.groups.io/g/devel/message/87242 Mute This Topic: https://groups.io/mt/89517497/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-