MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c | 1 + 1 file changed, 1 insertion(+)
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=937
In NvmeExpressPassthru.c near line 659:
Prp = NvmeCreatePrpList (
PciIo,
PhyAddr,
EFI_SIZE_TO_PAGES(Offset + Bytes) - 1,
&PrpListHost,
&PrpListNo,
&MapPrpList
);
if (Prp == NULL) {
goto EXIT;
}
Status is not set to an error code - Status is initialized to
EFI_SUCCESS, or set by a PciIo->Map to EFI_SUCCESS above this
code. This error path should set Status to an error code before
goto EXIT.
Cc: Hao Wu <hao.a.wu@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Michael Turner <Michael.Turner@microsoft.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.zeng@intel.com>
---
MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c b/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c
index 302cfdcd8d8d..cfad1587f299 100644
--- a/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c
+++ b/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c
@@ -656,6 +656,7 @@ NvmExpressPassThru (
PhyAddr = (Sq->Prp[0] + EFI_PAGE_SIZE) & ~(EFI_PAGE_SIZE - 1);
Prp = NvmeCreatePrpList (PciIo, PhyAddr, EFI_SIZE_TO_PAGES(Offset + Bytes) - 1, &PrpListHost, &PrpListNo, &MapPrpList);
if (Prp == NULL) {
+ Status = EFI_OUT_OF_RESOURCES;
goto EXIT;
}
--
2.7.0.windows.1
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Reviewed-by: Hao Wu <hao.a.wu@intel.com> Best Regards, Hao Wu > -----Original Message----- > From: Zeng, Star > Sent: Monday, April 23, 2018 4:18 PM > To: edk2-devel@lists.01.org > Cc: Zeng, Star; Wu, Hao A; Ni, Ruiyu; Michael Turner > Subject: [PATCH] MdeModulePkg NvmExpressDxe: return error code in error > path > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=937 > > In NvmeExpressPassthru.c near line 659: > Prp = NvmeCreatePrpList ( > PciIo, > PhyAddr, > EFI_SIZE_TO_PAGES(Offset + Bytes) - 1, > &PrpListHost, > &PrpListNo, > &MapPrpList > ); > if (Prp == NULL) { > goto EXIT; > } > Status is not set to an error code - Status is initialized to > EFI_SUCCESS, or set by a PciIo->Map to EFI_SUCCESS above this > code. This error path should set Status to an error code before > goto EXIT. > > Cc: Hao Wu <hao.a.wu@intel.com> > Cc: Ruiyu Ni <ruiyu.ni@intel.com> > Cc: Michael Turner <Michael.Turner@microsoft.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Star Zeng <star.zeng@intel.com> > --- > MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c > b/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c > index 302cfdcd8d8d..cfad1587f299 100644 > --- a/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c > +++ b/MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressPassthru.c > @@ -656,6 +656,7 @@ NvmExpressPassThru ( > PhyAddr = (Sq->Prp[0] + EFI_PAGE_SIZE) & ~(EFI_PAGE_SIZE - 1); > Prp = NvmeCreatePrpList (PciIo, PhyAddr, EFI_SIZE_TO_PAGES(Offset + Bytes) > - 1, &PrpListHost, &PrpListNo, &MapPrpList); > if (Prp == NULL) { > + Status = EFI_OUT_OF_RESOURCES; > goto EXIT; > } > > -- > 2.7.0.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
© 2016 - 2024 Red Hat, Inc.