* [PATCH] MdeModulePkg/Setup: Check ConfigAccess protocol in case it's destroyed @ 2019-07-09 3:46 gregx.yeh 2019-07-10 0:41 ` [edk2-devel] " Dandan Bi 0 siblings, 1 reply; 3+ messages in thread From: gregx.yeh @ 2019-07-09 3:46 UTC (permalink / raw) To: devel; +Cc: Dandan Bi, Ray Ni, Ted Kuo https://bugzilla.tianocore.org/show_bug.cgi?id=1920 Check ConfigAccess protocol is available before process user input. Signed-off-by: GregX Yeh <gregx.yeh@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Ted Kuo <ted.kuo@intel.com> --- .../Universal/SetupBrowserDxe/Presentation.c | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c index d7927725b2..7c36a6f2b7 100644 --- a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c @@ -20,6 +20,38 @@ UINT16 mCurFakeQestId; FORM_DISPLAY_ENGINE_FORM gDisplayFormData; BOOLEAN mFinishRetrieveCall = FALSE; +/** + Check whether the ConfigAccess protocol is available + + @parm FormSet FormSet of which the ConfigAcces protocol need to be checked. + + @retval EFI_SUCCESS The function executed successfully. + +**/ +EFI_STATUS +CheckConfigAccess( + IN FORM_BROWSER_FORMSET *FormSet + ) +{ + EFI_STATUS Status; + + Status = gBS->HandleProtocol ( + FormSet->DriverHandle, + &gEfiHiiConfigAccessProtocolGuid, + (VOID **) &FormSet->ConfigAccess + ); + if (EFI_ERROR (Status)) { + // + // Configuration Driver don't attach ConfigAccess protocol to its HII package + // list, then there will be no configuration action required. + // Or the ConfigAccess protocol has been uninstalled. + // + FormSet->ConfigAccess = NULL; + } + + return EFI_SUCCESS; +} + /** Evaluate all expressions in a Form. @@ -1686,6 +1718,8 @@ DisplayForm ( return Status; } + CheckConfigAccess(gCurrentSelection->FormSet); + Status = ProcessUserInput (&UserInput); FreeDisplayFormData(); return Status; -- 2.16.2.windows.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [edk2-devel] [PATCH] MdeModulePkg/Setup: Check ConfigAccess protocol in case it's destroyed 2019-07-09 3:46 [PATCH] MdeModulePkg/Setup: Check ConfigAccess protocol in case it's destroyed gregx.yeh @ 2019-07-10 0:41 ` Dandan Bi 2019-07-10 2:06 ` Wang, Jian J 0 siblings, 1 reply; 3+ messages in thread From: Dandan Bi @ 2019-07-10 0:41 UTC (permalink / raw) To: devel@edk2.groups.io, Yeh, GregX; +Cc: Ni, Ray, Kuo, Ted Reviewed-by: Dandan Bi <dandan.bi@intel.com> Thanks, Dandan > -----Original Message----- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of > GregX Yeh > Sent: Tuesday, July 9, 2019 11:47 AM > To: devel@edk2.groups.io > Cc: Bi, Dandan <dandan.bi@intel.com>; Ni, Ray <ray.ni@intel.com>; Kuo, Ted > <ted.kuo@intel.com> > Subject: [edk2-devel] [PATCH] MdeModulePkg/Setup: Check ConfigAccess > protocol in case it's destroyed > > https://bugzilla.tianocore.org/show_bug.cgi?id=1920 > Check ConfigAccess protocol is available before process user input. > > Signed-off-by: GregX Yeh <gregx.yeh@intel.com> > Cc: Dandan Bi <dandan.bi@intel.com> > Cc: Ray Ni <ray.ni@intel.com> > Cc: Ted Kuo <ted.kuo@intel.com> > --- > .../Universal/SetupBrowserDxe/Presentation.c | 34 > ++++++++++++++++++++++ > 1 file changed, 34 insertions(+) > > diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > index d7927725b2..7c36a6f2b7 100644 > --- a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > @@ -20,6 +20,38 @@ UINT16 mCurFakeQestId; > FORM_DISPLAY_ENGINE_FORM gDisplayFormData; > BOOLEAN mFinishRetrieveCall = FALSE; > > +/** > + Check whether the ConfigAccess protocol is available > + > + @parm FormSet FormSet of which the ConfigAcces protocol need to > be checked. > + > + @retval EFI_SUCCESS The function executed successfully. > + > +**/ > +EFI_STATUS > +CheckConfigAccess( > + IN FORM_BROWSER_FORMSET *FormSet > + ) > +{ > + EFI_STATUS Status; > + > + Status = gBS->HandleProtocol ( > + FormSet->DriverHandle, > + &gEfiHiiConfigAccessProtocolGuid, > + (VOID **) &FormSet->ConfigAccess > + ); > + if (EFI_ERROR (Status)) { > + // > + // Configuration Driver don't attach ConfigAccess protocol to its HII > package > + // list, then there will be no configuration action required. > + // Or the ConfigAccess protocol has been uninstalled. > + // > + FormSet->ConfigAccess = NULL; > + } > + > + return EFI_SUCCESS; > +} > + > /** > Evaluate all expressions in a Form. > > @@ -1686,6 +1718,8 @@ DisplayForm ( > return Status; > } > > + CheckConfigAccess(gCurrentSelection->FormSet); > + > Status = ProcessUserInput (&UserInput); > FreeDisplayFormData(); > return Status; > -- > 2.16.2.windows.1 > > > ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [edk2-devel] [PATCH] MdeModulePkg/Setup: Check ConfigAccess protocol in case it's destroyed 2019-07-10 0:41 ` [edk2-devel] " Dandan Bi @ 2019-07-10 2:06 ` Wang, Jian J 0 siblings, 0 replies; 3+ messages in thread From: Wang, Jian J @ 2019-07-10 2:06 UTC (permalink / raw) To: devel@edk2.groups.io, Bi, Dandan, Yeh, GregX; +Cc: Ni, Ray, Kuo, Ted Patch was pushed at 034a3b4f555c6844673a5ee6b7aa4faa74e90a6e Regards, Jian > -----Original Message----- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of > Dandan Bi > Sent: Wednesday, July 10, 2019 8:42 AM > To: devel@edk2.groups.io; Yeh, GregX <gregx.yeh@intel.com> > Cc: Ni, Ray <ray.ni@intel.com>; Kuo, Ted <ted.kuo@intel.com> > Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/Setup: Check > ConfigAccess protocol in case it's destroyed > > Reviewed-by: Dandan Bi <dandan.bi@intel.com> > > Thanks, > Dandan > > > -----Original Message----- > > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of > > GregX Yeh > > Sent: Tuesday, July 9, 2019 11:47 AM > > To: devel@edk2.groups.io > > Cc: Bi, Dandan <dandan.bi@intel.com>; Ni, Ray <ray.ni@intel.com>; Kuo, > Ted > > <ted.kuo@intel.com> > > Subject: [edk2-devel] [PATCH] MdeModulePkg/Setup: Check ConfigAccess > > protocol in case it's destroyed > > > > https://bugzilla.tianocore.org/show_bug.cgi?id=1920 > > Check ConfigAccess protocol is available before process user input. > > > > Signed-off-by: GregX Yeh <gregx.yeh@intel.com> > > Cc: Dandan Bi <dandan.bi@intel.com> > > Cc: Ray Ni <ray.ni@intel.com> > > Cc: Ted Kuo <ted.kuo@intel.com> > > --- > > .../Universal/SetupBrowserDxe/Presentation.c | 34 > > ++++++++++++++++++++++ > > 1 file changed, 34 insertions(+) > > > > diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > > b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > > index d7927725b2..7c36a6f2b7 100644 > > --- a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > > +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > > @@ -20,6 +20,38 @@ UINT16 mCurFakeQestId; > > FORM_DISPLAY_ENGINE_FORM gDisplayFormData; > > BOOLEAN mFinishRetrieveCall = FALSE; > > > > +/** > > + Check whether the ConfigAccess protocol is available > > + > > + @parm FormSet FormSet of which the ConfigAcces protocol need > to > > be checked. > > + > > + @retval EFI_SUCCESS The function executed successfully. > > + > > +**/ > > +EFI_STATUS > > +CheckConfigAccess( > > + IN FORM_BROWSER_FORMSET *FormSet > > + ) > > +{ > > + EFI_STATUS Status; > > + > > + Status = gBS->HandleProtocol ( > > + FormSet->DriverHandle, > > + &gEfiHiiConfigAccessProtocolGuid, > > + (VOID **) &FormSet->ConfigAccess > > + ); > > + if (EFI_ERROR (Status)) { > > + // > > + // Configuration Driver don't attach ConfigAccess protocol to its HII > > package > > + // list, then there will be no configuration action required. > > + // Or the ConfigAccess protocol has been uninstalled. > > + // > > + FormSet->ConfigAccess = NULL; > > + } > > + > > + return EFI_SUCCESS; > > +} > > + > > /** > > Evaluate all expressions in a Form. > > > > @@ -1686,6 +1718,8 @@ DisplayForm ( > > return Status; > > } > > > > + CheckConfigAccess(gCurrentSelection->FormSet); > > + > > Status = ProcessUserInput (&UserInput); > > FreeDisplayFormData(); > > return Status; > > -- > > 2.16.2.windows.1 > > > > > > > > > ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-07-10 2:06 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-07-09 3:46 [PATCH] MdeModulePkg/Setup: Check ConfigAccess protocol in case it's destroyed gregx.yeh 2019-07-10 0:41 ` [edk2-devel] " Dandan Bi 2019-07-10 2:06 ` Wang, Jian J
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox