[edk2-devel] [PATCH] MdeModulePkg: Upon BootOption failure, Destroy RamDisk memory before RSC.

Veliyathuparambil Prakashan, KrishnadasX krishnadasx.veliyathuparambil.prakashan at intel.com
Fri Jul 17 04:09:28 UTC 2020


Hello Liming,

Gentle Reminder.
As discussed before, please let us know when we can expect our changes (below BZ) to get pushed in to Edk2Repo.
Please help to give an ETA.

BZ Details:
[edk2-devel] [PATCH] MdeModulePkg: Upon BootOption failure, Destroy RamDisk memory before RSC
https://bugzilla.tianocore.org/show_bug.cgi?id=2818

Dependency : https://bugzilla.tianocore.org/show_bug.cgi?id=2836

Thanks,
Krishnadas

>-----Original Message-----
> From: Veliyathuparambil Prakashan, KrishnadasX
> Sent: Friday, July 3, 2020 3:00 PM
> To: Gao, Liming <liming.gao at intel.com>; Gao, Zhichao
> <zhichao.gao at intel.com>
> Cc: Ni, Ray <ray.ni at intel.com>; T V, Krishnamoorthy
> <Krishnamoorthy.T.V at intel.com>; devel at edk2.groups.io; leif at nuviainc.com;
> Laszlo Ersek <lersek at redhat.com>; afish at apple.com; Kinney, Michael D
> <michael.d.kinney at intel.com>
> Subject: RE: [edk2-devel] [PATCH] MdeModulePkg: Upon BootOption failure,
> Destroy RamDisk memory before RSC.
> 
> Thank you very much Liming  and Zhichao for your time to discuss this case.
> 
> Hello Liming,
> 
> As discussed, please help to raise the BZ to enhance PatchCheck.py and kindly
> help to submit our Edk2 patch to Edk2 Repo.
> [EDK2 Change BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2818]
> 
> Also, please give us an update on next week regarding the ETA , as per our
> discussion.
> 
> Thanks,
> Krishnadas
> 
> > -----Original Message-----
> > From: Gao, Liming <liming.gao at intel.com>
> > Sent: Friday, July 3, 2020 11:32 AM
> > To: devel at edk2.groups.io; Veliyathuparambil Prakashan, KrishnadasX
> > <krishnadasx.veliyathuparambil.prakashan at intel.com>;
> > leif at nuviainc.com; Laszlo Ersek <lersek at redhat.com>; afish at apple.com;
> > Kinney, Michael D <michael.d.kinney at intel.com>
> > Cc: Gao, Zhichao <zhichao.gao at intel.com>; Ni, Ray <ray.ni at intel.com>
> > Subject: RE: [edk2-devel] [PATCH] MdeModulePkg: Upon BootOption
> > failure, Destroy RamDisk memory before RSC.
> >
> > Signed-off-by line is too long and exceeds 80 characters requirement.
> > But, it is valid.
> >
> > So, I suggest to enhance PatchCheck.py and skip the check for the
> > lines with Signed-off-by, Ack-by:, Reviewed-by:, and Tested-By:.
> >
> > Thanks
> > Liming
> > > -----Original Message-----
> > > From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of
> > > KrishnadasX Veliyathuparambil Prakashan
> > > Sent: Friday, June 19, 2020 10:40 AM
> > > To: devel at edk2.groups.io
> > > Cc: Gao, Zhichao <zhichao.gao at intel.com>; Ni, Ray <ray.ni at intel.com>
> > > Subject: [edk2-devel] [PATCH] MdeModulePkg: Upon BootOption failure,
> > Destroy RamDisk memory before RSC.
> > >
> > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2818
> > >
> > > For better memory management, re-ordered the DestroyRamDisk and
> > > ReportStatusCode calls inside the EfiBootManagerBoot() function.
> > >
> > > This will help to clean the unused memory before reporting the
> > > failure status, so that OEMs can use RSC Listener to launch custom
> > > boot option or application for recovering the failed hard drive.
> > >
> > > This change will help to ensure that the allocated pool of memory
> > > for the failed boot option is freed before executing OEM's RSC
> > > listener callback to handle every boot option failure.
> > >
> > > Signed-off-by: KrishnadasX Veliyathuparambil Prakashan
> > > <krishnadasx.veliyathuparambil.prakashan at intel.com>
> > > Cc: "Gao, Zhichao" <zhichao.gao at intel.com>
> > > Cc: "Ni, Ray" <ray.ni at intel.com>
> > > ---
> > >  .../Library/UefiBootManagerLib/BmBoot.c       | 28 ++++++++++---------
> > >  1 file changed, 15 insertions(+), 13 deletions(-)
> > >
> > > diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> > > b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> > > index 540d169ec1..aff620ad52 100644
> > > --- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> > > +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> > > @@ -2,7 +2,7 @@
> > >    Library functions which relates with booting.
> > >
> > >
> > >
> > >  Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.
> > >
> > > -Copyright (c) 2011 - 2019, Intel Corporation. All rights
> > > reserved.<BR>
> > >
> > > +Copyright (c) 2011 - 2020, Intel Corporation. All rights
> > > +reserved.<BR>
> > >
> > >  (C) Copyright 2015-2016 Hewlett Packard Enterprise Development
> > > LP<BR>
> > >
> > >  SPDX-License-Identifier: BSD-2-Clause-Patent
> > >
> > >
> > >
> > > @@ -1903,17 +1903,17 @@ EfiBootManagerBoot (
> > >          gBS->UnloadImage (ImageHandle);
> > >
> > >        }
> > >
> > >        //
> > >
> > > -      // Report Status Code with the failure status to indicate that the failure
> to
> > load boot option
> > >
> > > -      //
> > >
> > > -      BmReportLoadFailure
> > (EFI_SW_DXE_BS_EC_BOOT_OPTION_LOAD_ERROR, Status);
> > >
> > > -      BootOption->Status = Status;
> > >
> > > -      //
> > >
> > >        // Destroy the RAM disk
> > >
> > >        //
> > >
> > >        if (RamDiskDevicePath != NULL) {
> > >
> > >          BmDestroyRamDisk (RamDiskDevicePath);
> > >
> > >          FreePool (RamDiskDevicePath);
> > >
> > >        }
> > >
> > > +      //
> > >
> > > +      // Report Status Code with the failure status to indicate
> > > + that the failure to load boot option
> > >
> > > +      //
> > >
> > > +      BmReportLoadFailure
> > (EFI_SW_DXE_BS_EC_BOOT_OPTION_LOAD_ERROR,
> > > + Status);
> > >
> > > +      BootOption->Status = Status;
> > >
> > >        return;
> > >
> > >      }
> > >
> > >    }
> > >
> > > @@ -1982,13 +1982,6 @@ EfiBootManagerBoot (
> > >    Status = gBS->StartImage (ImageHandle, &BootOption->ExitDataSize,
> > > &BootOption->ExitData);
> > >
> > >    DEBUG ((DEBUG_INFO | DEBUG_LOAD, "Image Return Status = %r\n",
> > > Status));
> > >
> > >    BootOption->Status = Status;
> > >
> > > -  if (EFI_ERROR (Status)) {
> > >
> > > -    //
> > >
> > > -    // Report Status Code with the failure status to indicate that boot failure
> > >
> > > -    //
> > >
> > > -    BmReportLoadFailure (EFI_SW_DXE_BS_EC_BOOT_OPTION_FAILED,
> > Status);
> > >
> > > -  }
> > >
> > > -  PERF_END_EX (gImageHandle, "BdsAttempt", NULL, 0, (UINT32)
> > > OptionNumber);
> > >
> > >
> > >
> > >    //
> > >
> > >    // Destroy the RAM disk
> > >
> > > @@ -1998,6 +1991,15 @@ EfiBootManagerBoot (
> > >      FreePool (RamDiskDevicePath);
> > >
> > >    }
> > >
> > >
> > >
> > > +  if (EFI_ERROR (Status)) {
> > >
> > > +    //
> > >
> > > +    // Report Status Code with the failure status to indicate that
> > > + boot failure
> > >
> > > +    //
> > >
> > > +    BmReportLoadFailure (EFI_SW_DXE_BS_EC_BOOT_OPTION_FAILED,
> > > + Status);
> > >
> > > +  }
> > >
> > > +  PERF_END_EX (gImageHandle, "BdsAttempt", NULL, 0, (UINT32)
> > > + OptionNumber);
> > >
> > > +
> > >
> > > +
> > >
> > >    //
> > >
> > >    // Clear the Watchdog Timer after the image returns
> > >
> > >    //
> > >
> > > --
> > > 2.27.0.windows.1
> > >
> > >
> > > -=-=-=-=-=-=
> > > Groups.io Links: You receive all messages sent to this group.
> > >
> > > View/Reply Online (#61517):
> > > https://edk2.groups.io/g/devel/message/61517
> > > Mute This Topic: https://groups.io/mt/74978785/1759384
> > > Group Owner: devel+owner at edk2.groups.io
> > > Unsubscribe: https://edk2.groups.io/g/devel/unsub
> > > [liming.gao at intel.com] -=-=-=-=-=-=


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#62774): https://edk2.groups.io/g/devel/message/62774
Mute This Topic: https://groups.io/mt/74978785/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list