* [Patch MdeModulePkg/Library v1 0/1] Fix exception issue while UsbMass block io uninstalled
@ 2019-03-19 12:59 Ming Huang
2019-03-19 12:59 ` [Patch MdeModulePkg/Library v1 1/1] MdeModulePkg/UefiBootManangerLib: Fix exception issue Ming Huang
0 siblings, 1 reply; 4+ messages in thread
From: Ming Huang @ 2019-03-19 12:59 UTC (permalink / raw)
To: linaro-uefi, edk2-devel, hao.a.wu, michael.d.kinney, liming.gao
Cc: leif.lindholm, ard.biesheuvel, wanghuiqiang, huangming23,
zhangjinsong2, mengfanrong, huangdaode, Ming Huang
The Bugzilla tracker for this:
https://bugzilla.tianocore.org/show_bug.cgi?id=1631
Ming Huang (1):
MdeModulePkg/UefiBootManangerLib: Fix exception issue
MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 3 +++
1 file changed, 3 insertions(+)
--
2.9.5
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Patch MdeModulePkg/Library v1 1/1] MdeModulePkg/UefiBootManangerLib: Fix exception issue
2019-03-19 12:59 [Patch MdeModulePkg/Library v1 0/1] Fix exception issue while UsbMass block io uninstalled Ming Huang
@ 2019-03-19 12:59 ` Ming Huang
2019-03-19 13:46 ` Leif Lindholm
0 siblings, 1 reply; 4+ messages in thread
From: Ming Huang @ 2019-03-19 12:59 UTC (permalink / raw)
To: linaro-uefi, edk2-devel, hao.a.wu, michael.d.kinney, liming.gao
Cc: leif.lindholm, ard.biesheuvel, wanghuiqiang, huangming23,
zhangjinsong2, mengfanrong, huangdaode, Ming Huang
The system environment: virtual-CDROM(USB interface) via BMC, insert a
iso file to CDROM, like ubuntu-18.04.1-server-arm64.iso, change CDROM
to first boot option.
With release version bios, disconnecting CDROM when boot to
"1 seconds left, Press Esc or F2 to enter Setup"
then system will get a exception.
The root cause is the EFI_BLOCK_IO_PROTOCOL for UsbMass will be uninstalled
in this situation after print some transfer error. The status will be
invalid parameter. This line will get a exception for BlockIo not point
to right address:
AllocatePool (BlockIo->Media->BlockSize)
So, here need to judge the status after ASSERT_EFI_ERROR.
The Bugzilla tracker for this:
https://bugzilla.tianocore.org/show_bug.cgi?id=1631
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <ming.huang@linaro.org>
---
MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
index 4ce83ce22d61..0535cd7335b4 100644
--- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
+++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
@@ -1069,6 +1069,9 @@ BmExpandMediaDevicePath (
//
Status = gBS->HandleProtocol (Handle, &gEfiBlockIoProtocolGuid, (VOID **) &BlockIo);
ASSERT_EFI_ERROR (Status);
+ if (EFI_ERROR (Status)) {
+ return NULL;
+ }
Buffer = AllocatePool (BlockIo->Media->BlockSize);
if (Buffer != NULL) {
BlockIo->ReadBlocks (
--
2.9.5
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Patch MdeModulePkg/Library v1 1/1] MdeModulePkg/UefiBootManangerLib: Fix exception issue
2019-03-19 12:59 ` [Patch MdeModulePkg/Library v1 1/1] MdeModulePkg/UefiBootManangerLib: Fix exception issue Ming Huang
@ 2019-03-19 13:46 ` Leif Lindholm
2019-03-21 1:12 ` Wu, Hao A
0 siblings, 1 reply; 4+ messages in thread
From: Leif Lindholm @ 2019-03-19 13:46 UTC (permalink / raw)
To: Ming Huang
Cc: linaro-uefi, edk2-devel, hao.a.wu, michael.d.kinney, liming.gao,
ard.biesheuvel, wanghuiqiang, huangming23, zhangjinsong2,
mengfanrong, huangdaode
Thanks, Ming.
On Tue, Mar 19, 2019 at 08:59:13PM +0800, Ming Huang wrote:
> The system environment: virtual-CDROM(USB interface) via BMC, insert a
> iso file to CDROM, like ubuntu-18.04.1-server-arm64.iso, change CDROM
> to first boot option.
> With release version bios, disconnecting CDROM when boot to
> "1 seconds left, Press Esc or F2 to enter Setup"
> then system will get a exception.
>
> The root cause is the EFI_BLOCK_IO_PROTOCOL for UsbMass will be uninstalled
> in this situation after print some transfer error. The status will be
> invalid parameter. This line will get a exception for BlockIo not point
> to right address:
> AllocatePool (BlockIo->Media->BlockSize)
> So, here need to judge the status after ASSERT_EFI_ERROR.
>
> The Bugzilla tracker for this:
> https://bugzilla.tianocore.org/show_bug.cgi?id=1631
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Ming Huang <ming.huang@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
> ---
> MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> index 4ce83ce22d61..0535cd7335b4 100644
> --- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> @@ -1069,6 +1069,9 @@ BmExpandMediaDevicePath (
> //
> Status = gBS->HandleProtocol (Handle, &gEfiBlockIoProtocolGuid, (VOID **) &BlockIo);
> ASSERT_EFI_ERROR (Status);
> + if (EFI_ERROR (Status)) {
> + return NULL;
> + }
> Buffer = AllocatePool (BlockIo->Media->BlockSize);
> if (Buffer != NULL) {
> BlockIo->ReadBlocks (
> --
> 2.9.5
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Patch MdeModulePkg/Library v1 1/1] MdeModulePkg/UefiBootManangerLib: Fix exception issue
2019-03-19 13:46 ` Leif Lindholm
@ 2019-03-21 1:12 ` Wu, Hao A
0 siblings, 0 replies; 4+ messages in thread
From: Wu, Hao A @ 2019-03-21 1:12 UTC (permalink / raw)
To: Leif Lindholm, Ming Huang
Cc: linaro-uefi@lists.linaro.org, edk2-devel@lists.01.org,
Kinney, Michael D, Gao, Liming, ard.biesheuvel@linaro.org,
wanghuiqiang@huawei.com, huangming23@huawei.com,
zhangjinsong2@huawei.com, mengfanrong@huawei.com,
huangdaode@hisilicon.com
Thanks Ming and Leif.
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
Patch was committed at 6c27a4d337d0034cecf9f2c05d1f20c342d41e01.
Best Regards,
Hao Wu
> -----Original Message-----
> From: Leif Lindholm [mailto:leif.lindholm@linaro.org]
> Sent: Tuesday, March 19, 2019 9:47 PM
> To: Ming Huang
> Cc: linaro-uefi@lists.linaro.org; edk2-devel@lists.01.org; Wu, Hao A; Kinney,
> Michael D; Gao, Liming; ard.biesheuvel@linaro.org;
> wanghuiqiang@huawei.com; huangming23@huawei.com;
> zhangjinsong2@huawei.com; mengfanrong@huawei.com;
> huangdaode@hisilicon.com
> Subject: Re: [Patch MdeModulePkg/Library v1 1/1]
> MdeModulePkg/UefiBootManangerLib: Fix exception issue
>
> Thanks, Ming.
>
> On Tue, Mar 19, 2019 at 08:59:13PM +0800, Ming Huang wrote:
> > The system environment: virtual-CDROM(USB interface) via BMC, insert a
> > iso file to CDROM, like ubuntu-18.04.1-server-arm64.iso, change CDROM
> > to first boot option.
> > With release version bios, disconnecting CDROM when boot to
> > "1 seconds left, Press Esc or F2 to enter Setup"
> > then system will get a exception.
> >
> > The root cause is the EFI_BLOCK_IO_PROTOCOL for UsbMass will be
> uninstalled
> > in this situation after print some transfer error. The status will be
> > invalid parameter. This line will get a exception for BlockIo not point
> > to right address:
> > AllocatePool (BlockIo->Media->BlockSize)
> > So, here need to judge the status after ASSERT_EFI_ERROR.
> >
> > The Bugzilla tracker for this:
> > https://bugzilla.tianocore.org/show_bug.cgi?id=1631
> >
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Ming Huang <ming.huang@linaro.org>
>
> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
>
> > ---
> > MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> > index 4ce83ce22d61..0535cd7335b4 100644
> > --- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> > +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> > @@ -1069,6 +1069,9 @@ BmExpandMediaDevicePath (
> > //
> > Status = gBS->HandleProtocol (Handle, &gEfiBlockIoProtocolGuid, (VOID
> **) &BlockIo);
> > ASSERT_EFI_ERROR (Status);
> > + if (EFI_ERROR (Status)) {
> > + return NULL;
> > + }
> > Buffer = AllocatePool (BlockIo->Media->BlockSize);
> > if (Buffer != NULL) {
> > BlockIo->ReadBlocks (
> > --
> > 2.9.5
> >
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-03-21 1:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-19 12:59 [Patch MdeModulePkg/Library v1 0/1] Fix exception issue while UsbMass block io uninstalled Ming Huang
2019-03-19 12:59 ` [Patch MdeModulePkg/Library v1 1/1] MdeModulePkg/UefiBootManangerLib: Fix exception issue Ming Huang
2019-03-19 13:46 ` Leif Lindholm
2019-03-21 1:12 ` Wu, Hao A
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox