From nobody Sat May 18 18:27:57 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+87249+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+87249+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1646283984; cv=none; d=zohomail.com; s=zohoarc; b=fxiC4DzV+bLzTZfnSm5jAz3JK4BtlL7m05Bqj7gYvQ/CmzIOAkhBGMKIw7KELVxWZikt5JjNW0igDDTk45mEBQ6r/kA0fAhXbiNNwvPLIU3aBclIq3l5BH2gHejD02DQXSQqWvcFUg2FX3fVIkDid4596fW4/7J2xn75uF1JqN4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1646283984; 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=VaiGPUqJswbs3C+hzPqJqj9/1bI1ToG0C+fLw84fSMs=; b=Ks8ymf854mojmLMkqtiWt1+qM+QEhxzNuj9VUE4ENBsCWGrdDUrSAxm/OMvhoYo+dvONoNEhM1wVtUmrVGiWdvUQLbPZGfsJTFJeBAUgHywEXsAOBZqjcCCc1wKhoi+Se7DJI2/ZXBefI1HIg8ldr8l24FU4kgmg4rxYCIHRvgA= 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+87249+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 164628398456540.2539059577648; Wed, 2 Mar 2022 21:06:24 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id kjaNYY1788612xfjf3yQRpv4; Wed, 02 Mar 2022 21:06:24 -0800 X-Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web11.7658.1646283982746486166 for ; Wed, 02 Mar 2022 21:06:23 -0800 X-IronPort-AV: E=McAfee;i="6200,9189,10274"; a="253510256" X-IronPort-AV: E=Sophos;i="5.90,151,1643702400"; d="scan'208";a="253510256" X-Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2022 21:06:21 -0800 X-IronPort-AV: E=Sophos;i="5.90,151,1643702400"; d="scan'208";a="535675136" 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 21:06:19 -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 v2] MdeModulePkg: Add a check for metadata size in NvmExpress Driver Date: Thu, 3 Mar 2022 13:06:04 +0800 Message-Id: <71f2bca338cef51bf250616c684f2b8bab8694f5.1646276422.git.hua.ma@intel.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,hua.ma@intel.com X-Gm-Message-State: 0LlPiz7gVMLlbfwvZ8cUREBRx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1646283984; bh=1Rb/hy2/h3U3rAHKJ1i7ngXruy/YmxNH6T7oDWyhVsY=; h=Cc:Date:From:Reply-To:Subject:To; b=VahYvMUhfocNH7X/X7jhJeFc1ct7szKmQHFLGodXksJMKQw1MCzQ13XSOc7RqsCmZ17 xalhUK62gk4cwUCtdbTBa3lCeQi2dh25pmjOquyU+vX+Qq2eXcN17IQ95ZpkFFGUxaz/i /jYxWz3o4BfE/k6uAYIDRQkB0x8qh57O57c= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1646284007302100001 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. v2 changes: - Change debug log level from INFO to ERROR - Change to if (NamespaceData->LbaFormat[LbaFmtIdx].Ms !=3D 0) v1: https://edk2.groups.io/g/devel/message/87242 Cc: Jian J Wang Cc: Liming Gao Cc: Hao A Wu Cc: Ray Ni Signed-off-by: Hua Ma Reviewed-by: Hao A Wu --- 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 ( =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 !=3D 0) { + DEBUG (( + DEBUG_ERROR, + "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..e8a29f23c7 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 !=3D 0) { + DEBUG (( + DEBUG_ERROR, + "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 (#87249): https://edk2.groups.io/g/devel/message/87249 Mute This Topic: https://groups.io/mt/89519902/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-