ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The format specifier for the LoadOptions field of the LoadedImage protocol
is "%s". However, the data in LoadOptions is often generic binary data. A
format specifier of "%x" is more appropriate for this field.
Using "dh -v" with format specifier "%s" on BIOS images based on EDK II
source before commit 891d844 can cause a crash.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Westfahl <jeff.westfahl@ni.com>
---
ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni
index 0d51627c5f..273a4201bc 100644
--- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni
+++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni
@@ -354,7 +354,7 @@
" DeviceHandle..: %%H%x%%N\r\n"
" FilePath......: %%H%x%%N\r\n"
" OptionsSize...: %%H%x%%N\r\n"
- " LoadOptions...: %%H%s%%N\r\n"
+ " LoadOptions...: %%H%x%%N\r\n"
" ImageBase.....: %%H%x%%N\r\n"
" ImageSize.....: %%H%Lx%%N\r\n"
" CodeType......: %%H%s%%N\r\n"
--
2.11.0.windows.3
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Dell - Internal Use - Confidential Jeff, Perhaps a better approach is to print *all* the LoadOptions data as hex bytes? In addition, one might first analyze the LoadOptions data, and, when apropos, print obvious strings as strings? Regards, Jim -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Jeff Westfahl Sent: Tuesday, February 14, 2017 3:54 PM To: edk2-devel@lists.01.org Subject: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format specifier for LoadedImage The format specifier for the LoadOptions field of the LoadedImage protocol is "%s". However, the data in LoadOptions is often generic binary data. A format specifier of "%x" is more appropriate for this field. Using "dh -v" with format specifier "%s" on BIOS images based on EDK II source before commit 891d844 can cause a crash. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Westfahl <jeff.westfahl@ni.com> --- ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni index 0d51627c5f..273a4201bc 100644 --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni @@ -354,7 +354,7 @@ " DeviceHandle..: %%H%x%%N\r\n" " FilePath......: %%H%x%%N\r\n" " OptionsSize...: %%H%x%%N\r\n" - " LoadOptions...: %%H%s%%N\r\n" + " LoadOptions...: %%H%x%%N\r\n" " ImageBase.....: %%H%x%%N\r\n" " ImageSize.....: %%H%Lx%%N\r\n" " CodeType......: %%H%s%%N\r\n" -- 2.11.0.windows.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Please disregard the earlier "Confidential" text. The stupid plug-in that adds this does not show the text in the mail when it is composed in text mode, so I often forget to turn this "feature" off when posting. Sorry. -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Dailey, Jim Sent: Tuesday, February 14, 2017 4:40 PM To: jeff.westfahl@ni.com; edk2-devel@lists.01.org Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format specifier for LoadedImage Jeff, Perhaps a better approach is to print *all* the LoadOptions data as hex bytes? In addition, one might first analyze the LoadOptions data, and, when apropos, print obvious strings as strings? Regards, Jim -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Jeff Westfahl Sent: Tuesday, February 14, 2017 3:54 PM To: edk2-devel@lists.01.org Subject: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format specifier for LoadedImage The format specifier for the LoadOptions field of the LoadedImage protocol is "%s". However, the data in LoadOptions is often generic binary data. A format specifier of "%x" is more appropriate for this field. Using "dh -v" with format specifier "%s" on BIOS images based on EDK II source before commit 891d844 can cause a crash. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Westfahl <jeff.westfahl@ni.com> --- ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni index 0d51627c5f..273a4201bc 100644 --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni @@ -354,7 +354,7 @@ " DeviceHandle..: %%H%x%%N\r\n" " FilePath......: %%H%x%%N\r\n" " OptionsSize...: %%H%x%%N\r\n" - " LoadOptions...: %%H%s%%N\r\n" + " LoadOptions...: %%H%x%%N\r\n" " ImageBase.....: %%H%x%%N\r\n" " ImageSize.....: %%H%Lx%%N\r\n" " CodeType......: %%H%s%%N\r\n" -- 2.11.0.windows.3 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Jim, I agree that those are good ideas. However, such an implementation would still crash on a BIOS built against the EDK II before commit 891d844. I think it might be best to resolve the crash with the simple patch I have made, and defer your suggestions for now. Regards, Jeff On Tue, 14 Feb 2017, Jim.Dailey@dell.com wrote: > Please disregard the earlier "Confidential" text. The stupid plug-in that adds this > does not show the text in the mail when it is composed in text mode, so I often > forget to turn this "feature" off when posting. Sorry. > > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Dailey, Jim > Sent: Tuesday, February 14, 2017 4:40 PM > To: jeff.westfahl@ni.com; edk2-devel@lists.01.org > Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format specifier for LoadedImage > > Jeff, > > Perhaps a better approach is to print *all* the LoadOptions data as hex bytes? > > In addition, one might first analyze the LoadOptions data, and, when apropos, > print obvious strings as strings? > > Regards, > Jim > > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Jeff Westfahl > Sent: Tuesday, February 14, 2017 3:54 PM > To: edk2-devel@lists.01.org > Subject: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format specifier for LoadedImage > > The format specifier for the LoadOptions field of the LoadedImage protocol > is "%s". However, the data in LoadOptions is often generic binary data. A > format specifier of "%x" is more appropriate for this field. > > Using "dh -v" with format specifier "%s" on BIOS images based on EDK II > source before commit 891d844 can cause a crash. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Jeff Westfahl <jeff.westfahl@ni.com> > --- > ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > index 0d51627c5f..273a4201bc 100644 > --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > @@ -354,7 +354,7 @@ > " DeviceHandle..: %%H%x%%N\r\n" > " FilePath......: %%H%x%%N\r\n" > " OptionsSize...: %%H%x%%N\r\n" > - " LoadOptions...: %%H%s%%N\r\n" > + " LoadOptions...: %%H%x%%N\r\n" > " ImageBase.....: %%H%x%%N\r\n" > " ImageSize.....: %%H%Lx%%N\r\n" > " CodeType......: %%H%s%%N\r\n" > -- > 2.11.0.windows.3 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Jaben, Ruiyu, Sorry, I forgot to cc you as the ShellPkg maintainers when I submitted this patch. Regards, Jeff Westfahl On Wed, 15 Feb 2017, Jeff Westfahl wrote: > Jim, > > I agree that those are good ideas. However, such an implementation would > still crash on a BIOS built against the EDK II before commit 891d844. I think > it might be best to resolve the crash with the simple patch I have made, and > defer your suggestions for now. > > Regards, > Jeff > > On Tue, 14 Feb 2017, Jim.Dailey@dell.com wrote: > >> Please disregard the earlier "Confidential" text. The stupid plug-in that >> adds this >> does not show the text in the mail when it is composed in text mode, so I >> often >> forget to turn this "feature" off when posting. Sorry. >> >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >> Dailey, Jim >> Sent: Tuesday, February 14, 2017 4:40 PM >> To: jeff.westfahl@ni.com; edk2-devel@lists.01.org >> Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >> specifier for LoadedImage >> >> Jeff, >> >> Perhaps a better approach is to print *all* the LoadOptions data as hex >> bytes? >> >> In addition, one might first analyze the LoadOptions data, and, when >> apropos, >> print obvious strings as strings? >> >> Regards, >> Jim >> >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Jeff >> Westfahl >> Sent: Tuesday, February 14, 2017 3:54 PM >> To: edk2-devel@lists.01.org >> Subject: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format specifier >> for LoadedImage >> >> The format specifier for the LoadOptions field of the LoadedImage protocol >> is "%s". However, the data in LoadOptions is often generic binary data. A >> format specifier of "%x" is more appropriate for this field. >> >> Using "dh -v" with format specifier "%s" on BIOS images based on EDK II >> source before commit 891d844 can cause a crash. >> >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Jeff Westfahl <jeff.westfahl@ni.com> >> --- >> ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >> b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >> index 0d51627c5f..273a4201bc 100644 >> --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >> +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >> @@ -354,7 +354,7 @@ >> " DeviceHandle..: >> %%H%x%%N\r\n" >> " FilePath......: >> %%H%x%%N\r\n" >> " OptionsSize...: >> %%H%x%%N\r\n" >> - " LoadOptions...: >> %%H%s%%N\r\n" >> + " LoadOptions...: >> %%H%x%%N\r\n" >> " ImageBase.....: >> %%H%x%%N\r\n" >> " ImageSize.....: >> %%H%Lx%%N\r\n" >> " CodeType......: >> %%H%s%%N\r\n" >> -- >> 2.11.0.windows.3 >> >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel >> > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
I was reading the email. I was also waiting and making sure there was consensus since I didn't have a strong opinion. I will let Ray check also, but I think the fix is good. Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> > -----Original Message----- > From: Jeff Westfahl [mailto:jeff.westfahl@ni.com] > Sent: Friday, February 17, 2017 8:55 AM > To: Jeff Westfahl <jeff.westfahl@ni.com> > Cc: edk2-devel@lists.01.org; Carsey, Jaben <jaben.carsey@intel.com>; Ni, > Ruiyu <ruiyu.ni@intel.com> > Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format > specifier for LoadedImage > Importance: High > > Jaben, Ruiyu, > > Sorry, I forgot to cc you as the ShellPkg maintainers when I submitted > this patch. > > Regards, > Jeff Westfahl > > On Wed, 15 Feb 2017, Jeff Westfahl wrote: > > > Jim, > > > > I agree that those are good ideas. However, such an implementation would > > still crash on a BIOS built against the EDK II before commit 891d844. I think > > it might be best to resolve the crash with the simple patch I have made, > and > > defer your suggestions for now. > > > > Regards, > > Jeff > > > > On Tue, 14 Feb 2017, Jim.Dailey@dell.com wrote: > > > >> Please disregard the earlier "Confidential" text. The stupid plug-in that > >> adds this > >> does not show the text in the mail when it is composed in text mode, so I > >> often > >> forget to turn this "feature" off when posting. Sorry. > >> > >> -----Original Message----- > >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > >> Dailey, Jim > >> Sent: Tuesday, February 14, 2017 4:40 PM > >> To: jeff.westfahl@ni.com; edk2-devel@lists.01.org > >> Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format > >> specifier for LoadedImage > >> > >> Jeff, > >> > >> Perhaps a better approach is to print *all* the LoadOptions data as hex > >> bytes? > >> > >> In addition, one might first analyze the LoadOptions data, and, when > >> apropos, > >> print obvious strings as strings? > >> > >> Regards, > >> Jim > >> > >> -----Original Message----- > >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > Jeff > >> Westfahl > >> Sent: Tuesday, February 14, 2017 3:54 PM > >> To: edk2-devel@lists.01.org > >> Subject: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format > specifier > >> for LoadedImage > >> > >> The format specifier for the LoadOptions field of the LoadedImage > protocol > >> is "%s". However, the data in LoadOptions is often generic binary data. A > >> format specifier of "%x" is more appropriate for this field. > >> > >> Using "dh -v" with format specifier "%s" on BIOS images based on EDK II > >> source before commit 891d844 can cause a crash. > >> > >> Contributed-under: TianoCore Contribution Agreement 1.0 > >> Signed-off-by: Jeff Westfahl <jeff.westfahl@ni.com> > >> --- > >> ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git > a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > >> b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > >> index 0d51627c5f..273a4201bc 100644 > >> --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > >> +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > >> @@ -354,7 +354,7 @@ > >> " DeviceHandle..: > >> %%H%x%%N\r\n" > >> " FilePath......: > >> %%H%x%%N\r\n" > >> " OptionsSize...: > >> %%H%x%%N\r\n" > >> - " LoadOptions...: > >> %%H%s%%N\r\n" > >> + " LoadOptions...: > >> %%H%x%%N\r\n" > >> " ImageBase.....: > >> %%H%x%%N\r\n" > >> " ImageSize.....: > >> %%H%Lx%%N\r\n" > >> " CodeType......: > >> %%H%s%%N\r\n" > >> -- > >> 2.11.0.windows.3 > >> > >> _______________________________________________ > >> edk2-devel mailing list > >> edk2-devel@lists.01.org > >> https://lists.01.org/mailman/listinfo/edk2-devel > >> _______________________________________________ > >> edk2-devel mailing list > >> edk2-devel@lists.01.org > >> https://lists.01.org/mailman/listinfo/edk2-devel > >> > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel > > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
My point was that printing one byte of the data as hex is not much better (as far as avoiding the crash is concerned) than simply not printing the data at all. If we are just trying to avoid the crash, printing nothing is even simpler. If the correct representation is hex bytes, fine; but why print only 1 of them and not all of them? -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Carsey, Jaben Sent: Friday, February 17, 2017 11:28 AM To: Jeff Westfahl <jeff.westfahl@ni.com> Cc: Ni, Ruiyu <ruiyu.ni@intel.com>; Carsey, Jaben <jaben.carsey@intel.com>; edk2-devel@lists.01.org Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format specifier for LoadedImage I was reading the email. I was also waiting and making sure there was consensus since I didn't have a strong opinion. I will let Ray check also, but I think the fix is good. Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> > -----Original Message----- > From: Jeff Westfahl [mailto:jeff.westfahl@ni.com] > Sent: Friday, February 17, 2017 8:55 AM > To: Jeff Westfahl <jeff.westfahl@ni.com> > Cc: edk2-devel@lists.01.org; Carsey, Jaben <jaben.carsey@intel.com>; Ni, > Ruiyu <ruiyu.ni@intel.com> > Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format > specifier for LoadedImage > Importance: High > > Jaben, Ruiyu, > > Sorry, I forgot to cc you as the ShellPkg maintainers when I submitted > this patch. > > Regards, > Jeff Westfahl > > On Wed, 15 Feb 2017, Jeff Westfahl wrote: > > > Jim, > > > > I agree that those are good ideas. However, such an implementation would > > still crash on a BIOS built against the EDK II before commit 891d844. I think > > it might be best to resolve the crash with the simple patch I have made, > and > > defer your suggestions for now. > > > > Regards, > > Jeff > > > > On Tue, 14 Feb 2017, Jim.Dailey@dell.com wrote: > > > >> Please disregard the earlier "Confidential" text. The stupid plug-in that > >> adds this > >> does not show the text in the mail when it is composed in text mode, so I > >> often > >> forget to turn this "feature" off when posting. Sorry. > >> > >> -----Original Message----- > >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > >> Dailey, Jim > >> Sent: Tuesday, February 14, 2017 4:40 PM > >> To: jeff.westfahl@ni.com; edk2-devel@lists.01.org > >> Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format > >> specifier for LoadedImage > >> > >> Jeff, > >> > >> Perhaps a better approach is to print *all* the LoadOptions data as hex > >> bytes? > >> > >> In addition, one might first analyze the LoadOptions data, and, when > >> apropos, > >> print obvious strings as strings? > >> > >> Regards, > >> Jim > >> > >> -----Original Message----- > >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > Jeff > >> Westfahl > >> Sent: Tuesday, February 14, 2017 3:54 PM > >> To: edk2-devel@lists.01.org > >> Subject: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format > specifier > >> for LoadedImage > >> > >> The format specifier for the LoadOptions field of the LoadedImage > protocol > >> is "%s". However, the data in LoadOptions is often generic binary data. A > >> format specifier of "%x" is more appropriate for this field. > >> > >> Using "dh -v" with format specifier "%s" on BIOS images based on EDK II > >> source before commit 891d844 can cause a crash. > >> > >> Contributed-under: TianoCore Contribution Agreement 1.0 > >> Signed-off-by: Jeff Westfahl <jeff.westfahl@ni.com> > >> --- > >> ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git > a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > >> b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > >> index 0d51627c5f..273a4201bc 100644 > >> --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > >> +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > >> @@ -354,7 +354,7 @@ > >> " DeviceHandle..: > >> %%H%x%%N\r\n" > >> " FilePath......: > >> %%H%x%%N\r\n" > >> " OptionsSize...: > >> %%H%x%%N\r\n" > >> - " LoadOptions...: > >> %%H%s%%N\r\n" > >> + " LoadOptions...: > >> %%H%x%%N\r\n" > >> " ImageBase.....: > >> %%H%x%%N\r\n" > >> " ImageSize.....: > >> %%H%Lx%%N\r\n" > >> " CodeType......: > >> %%H%s%%N\r\n" > >> -- > >> 2.11.0.windows.3 > >> > >> _______________________________________________ > >> edk2-devel mailing list > >> edk2-devel@lists.01.org > >> https://lists.01.org/mailman/listinfo/edk2-devel > >> _______________________________________________ > >> edk2-devel mailing list > >> edk2-devel@lists.01.org > >> https://lists.01.org/mailman/listinfo/edk2-devel > >> > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel > > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
I think that the long term solution may improve upon this one, but if the data is hex, then printing in hex at all would seem to be the logical first step. > -----Original Message----- > From: Jim.Dailey@dell.com [mailto:Jim.Dailey@dell.com] > Sent: Friday, February 17, 2017 9:36 AM > To: Carsey, Jaben <jaben.carsey@intel.com> > Cc: Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@lists.01.org; > jeff.westfahl@ni.com > Subject: RE: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format > specifier for LoadedImage > Importance: High > > My point was that printing one byte of the data as hex is not much better (as > far > as avoiding the crash is concerned) than simply not printing the data at all. If > we are just trying to avoid the crash, printing nothing is even simpler. > > If the correct representation is hex bytes, fine; but why print only 1 of them > and not all of them? > > > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > Carsey, Jaben > Sent: Friday, February 17, 2017 11:28 AM > To: Jeff Westfahl <jeff.westfahl@ni.com> > Cc: Ni, Ruiyu <ruiyu.ni@intel.com>; Carsey, Jaben > <jaben.carsey@intel.com>; edk2-devel@lists.01.org > Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format > specifier for LoadedImage > > I was reading the email. I was also waiting and making sure there was > consensus since I didn't have a strong opinion. I will let Ray check also, but I > think the fix is good. > > Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> > > > -----Original Message----- > > From: Jeff Westfahl [mailto:jeff.westfahl@ni.com] > > Sent: Friday, February 17, 2017 8:55 AM > > To: Jeff Westfahl <jeff.westfahl@ni.com> > > Cc: edk2-devel@lists.01.org; Carsey, Jaben <jaben.carsey@intel.com>; Ni, > > Ruiyu <ruiyu.ni@intel.com> > > Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format > > specifier for LoadedImage > > Importance: High > > > > Jaben, Ruiyu, > > > > Sorry, I forgot to cc you as the ShellPkg maintainers when I submitted > > this patch. > > > > Regards, > > Jeff Westfahl > > > > On Wed, 15 Feb 2017, Jeff Westfahl wrote: > > > > > Jim, > > > > > > I agree that those are good ideas. However, such an implementation > would > > > still crash on a BIOS built against the EDK II before commit 891d844. I think > > > it might be best to resolve the crash with the simple patch I have made, > > and > > > defer your suggestions for now. > > > > > > Regards, > > > Jeff > > > > > > On Tue, 14 Feb 2017, Jim.Dailey@dell.com wrote: > > > > > >> Please disregard the earlier "Confidential" text. The stupid plug-in that > > >> adds this > > >> does not show the text in the mail when it is composed in text mode, so > I > > >> often > > >> forget to turn this "feature" off when posting. Sorry. > > >> > > >> -----Original Message----- > > >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf > Of > > >> Dailey, Jim > > >> Sent: Tuesday, February 14, 2017 4:40 PM > > >> To: jeff.westfahl@ni.com; edk2-devel@lists.01.org > > >> Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format > > >> specifier for LoadedImage > > >> > > >> Jeff, > > >> > > >> Perhaps a better approach is to print *all* the LoadOptions data as hex > > >> bytes? > > >> > > >> In addition, one might first analyze the LoadOptions data, and, when > > >> apropos, > > >> print obvious strings as strings? > > >> > > >> Regards, > > >> Jim > > >> > > >> -----Original Message----- > > >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf > Of > > Jeff > > >> Westfahl > > >> Sent: Tuesday, February 14, 2017 3:54 PM > > >> To: edk2-devel@lists.01.org > > >> Subject: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format > > specifier > > >> for LoadedImage > > >> > > >> The format specifier for the LoadOptions field of the LoadedImage > > protocol > > >> is "%s". However, the data in LoadOptions is often generic binary data. A > > >> format specifier of "%x" is more appropriate for this field. > > >> > > >> Using "dh -v" with format specifier "%s" on BIOS images based on EDK II > > >> source before commit 891d844 can cause a crash. > > >> > > >> Contributed-under: TianoCore Contribution Agreement 1.0 > > >> Signed-off-by: Jeff Westfahl <jeff.westfahl@ni.com> > > >> --- > > >> ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni | 2 +- > > >> 1 file changed, 1 insertion(+), 1 deletion(-) > > >> > > >> diff --git > > a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > > >> b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > > >> index 0d51627c5f..273a4201bc 100644 > > >> --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > > >> +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni > > >> @@ -354,7 +354,7 @@ > > >> " DeviceHandle..: > > >> %%H%x%%N\r\n" > > >> " FilePath......: > > >> %%H%x%%N\r\n" > > >> " OptionsSize...: > > >> %%H%x%%N\r\n" > > >> - " LoadOptions...: > > >> %%H%s%%N\r\n" > > >> + " LoadOptions...: > > >> %%H%x%%N\r\n" > > >> " ImageBase.....: > > >> %%H%x%%N\r\n" > > >> " ImageSize.....: > > >> %%H%Lx%%N\r\n" > > >> " CodeType......: > > >> %%H%s%%N\r\n" > > >> -- > > >> 2.11.0.windows.3 > > >> > > >> _______________________________________________ > > >> edk2-devel mailing list > > >> edk2-devel@lists.01.org > > >> https://lists.01.org/mailman/listinfo/edk2-devel > > >> _______________________________________________ > > >> edk2-devel mailing list > > >> edk2-devel@lists.01.org > > >> https://lists.01.org/mailman/listinfo/edk2-devel > > >> > > > _______________________________________________ > > > edk2-devel mailing list > > > edk2-devel@lists.01.org > > > https://lists.01.org/mailman/listinfo/edk2-devel > > > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Using "%s" tries to print the data as text, but crashes if the pointer to that data is garbage. Using "%x" just prints the value of the pointer, whether it's valid or not. It doesn't print any of the actual data. On Fri, 17 Feb 2017, Carsey, Jaben wrote: > I think that the long term solution may improve upon this one, but if the data is hex, then printing in hex at all would seem to be the logical first step. > >> -----Original Message----- >> From: Jim.Dailey@dell.com [mailto:Jim.Dailey@dell.com] >> Sent: Friday, February 17, 2017 9:36 AM >> To: Carsey, Jaben <jaben.carsey@intel.com> >> Cc: Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@lists.01.org; >> jeff.westfahl@ni.com >> Subject: RE: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >> specifier for LoadedImage >> Importance: High >> >> My point was that printing one byte of the data as hex is not much better (as >> far >> as avoiding the crash is concerned) than simply not printing the data at all. If >> we are just trying to avoid the crash, printing nothing is even simpler. >> >> If the correct representation is hex bytes, fine; but why print only 1 of them >> and not all of them? >> >> >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >> Carsey, Jaben >> Sent: Friday, February 17, 2017 11:28 AM >> To: Jeff Westfahl <jeff.westfahl@ni.com> >> Cc: Ni, Ruiyu <ruiyu.ni@intel.com>; Carsey, Jaben >> <jaben.carsey@intel.com>; edk2-devel@lists.01.org >> Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >> specifier for LoadedImage >> >> I was reading the email. I was also waiting and making sure there was >> consensus since I didn't have a strong opinion. I will let Ray check also, but I >> think the fix is good. >> >> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> >> >>> -----Original Message----- >>> From: Jeff Westfahl [mailto:jeff.westfahl@ni.com] >>> Sent: Friday, February 17, 2017 8:55 AM >>> To: Jeff Westfahl <jeff.westfahl@ni.com> >>> Cc: edk2-devel@lists.01.org; Carsey, Jaben <jaben.carsey@intel.com>; Ni, >>> Ruiyu <ruiyu.ni@intel.com> >>> Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >>> specifier for LoadedImage >>> Importance: High >>> >>> Jaben, Ruiyu, >>> >>> Sorry, I forgot to cc you as the ShellPkg maintainers when I submitted >>> this patch. >>> >>> Regards, >>> Jeff Westfahl >>> >>> On Wed, 15 Feb 2017, Jeff Westfahl wrote: >>> >>>> Jim, >>>> >>>> I agree that those are good ideas. However, such an implementation >> would >>>> still crash on a BIOS built against the EDK II before commit 891d844. I think >>>> it might be best to resolve the crash with the simple patch I have made, >>> and >>>> defer your suggestions for now. >>>> >>>> Regards, >>>> Jeff >>>> >>>> On Tue, 14 Feb 2017, Jim.Dailey@dell.com wrote: >>>> >>>>> Please disregard the earlier "Confidential" text. The stupid plug-in that >>>>> adds this >>>>> does not show the text in the mail when it is composed in text mode, so >> I >>>>> often >>>>> forget to turn this "feature" off when posting. Sorry. >>>>> >>>>> -----Original Message----- >>>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf >> Of >>>>> Dailey, Jim >>>>> Sent: Tuesday, February 14, 2017 4:40 PM >>>>> To: jeff.westfahl@ni.com; edk2-devel@lists.01.org >>>>> Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >>>>> specifier for LoadedImage >>>>> >>>>> Jeff, >>>>> >>>>> Perhaps a better approach is to print *all* the LoadOptions data as hex >>>>> bytes? >>>>> >>>>> In addition, one might first analyze the LoadOptions data, and, when >>>>> apropos, >>>>> print obvious strings as strings? >>>>> >>>>> Regards, >>>>> Jim >>>>> >>>>> -----Original Message----- >>>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf >> Of >>> Jeff >>>>> Westfahl >>>>> Sent: Tuesday, February 14, 2017 3:54 PM >>>>> To: edk2-devel@lists.01.org >>>>> Subject: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >>> specifier >>>>> for LoadedImage >>>>> >>>>> The format specifier for the LoadOptions field of the LoadedImage >>> protocol >>>>> is "%s". However, the data in LoadOptions is often generic binary data. A >>>>> format specifier of "%x" is more appropriate for this field. >>>>> >>>>> Using "dh -v" with format specifier "%s" on BIOS images based on EDK II >>>>> source before commit 891d844 can cause a crash. >>>>> >>>>> Contributed-under: TianoCore Contribution Agreement 1.0 >>>>> Signed-off-by: Jeff Westfahl <jeff.westfahl@ni.com> >>>>> --- >>>>> ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni | 2 +- >>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>> >>>>> diff --git >>> a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >>>>> b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >>>>> index 0d51627c5f..273a4201bc 100644 >>>>> --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >>>>> +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >>>>> @@ -354,7 +354,7 @@ >>>>> " DeviceHandle..: >>>>> %%H%x%%N\r\n" >>>>> " FilePath......: >>>>> %%H%x%%N\r\n" >>>>> " OptionsSize...: >>>>> %%H%x%%N\r\n" >>>>> - " LoadOptions...: >>>>> %%H%s%%N\r\n" >>>>> + " LoadOptions...: >>>>> %%H%x%%N\r\n" >>>>> " ImageBase.....: >>>>> %%H%x%%N\r\n" >>>>> " ImageSize.....: >>>>> %%H%Lx%%N\r\n" >>>>> " CodeType......: >>>>> %%H%s%%N\r\n" >>>>> -- >>>>> 2.11.0.windows.3 >>>>> >>>>> _______________________________________________ >>>>> edk2-devel mailing list >>>>> edk2-devel@lists.01.org >>>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>>> _______________________________________________ >>>>> edk2-devel mailing list >>>>> edk2-devel@lists.01.org >>>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>>> >>>> _______________________________________________ >>>> edk2-devel mailing list >>>> edk2-devel@lists.01.org >>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>> >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Dell - Internal Use - Confidential Thanks, Jeff. I wasn't thinking that through properly. Printing the address and size seems ok. Then one could use dmem, for example, to dump the actual data. -----Original Message----- From: Jeff Westfahl [mailto:jeff.westfahl@ni.com] Sent: Friday, February 17, 2017 11:44 AM To: Carsey, Jaben <jaben.carsey@intel.com> Cc: Dailey, Jim <Jim_Dailey@Dell.com>; Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@lists.01.org; jeff.westfahl@ni.com Subject: RE: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format specifier for LoadedImage Using "%s" tries to print the data as text, but crashes if the pointer to that data is garbage. Using "%x" just prints the value of the pointer, whether it's valid or not. It doesn't print any of the actual data. On Fri, 17 Feb 2017, Carsey, Jaben wrote: > I think that the long term solution may improve upon this one, but if the data is hex, then printing in hex at all would seem to be the logical first step. > >> -----Original Message----- >> From: Jim.Dailey@dell.com [mailto:Jim.Dailey@dell.com] >> Sent: Friday, February 17, 2017 9:36 AM >> To: Carsey, Jaben <jaben.carsey@intel.com> >> Cc: Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@lists.01.org; >> jeff.westfahl@ni.com >> Subject: RE: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >> specifier for LoadedImage >> Importance: High >> >> My point was that printing one byte of the data as hex is not much better (as >> far >> as avoiding the crash is concerned) than simply not printing the data at all. If >> we are just trying to avoid the crash, printing nothing is even simpler. >> >> If the correct representation is hex bytes, fine; but why print only 1 of them >> and not all of them? >> >> >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >> Carsey, Jaben >> Sent: Friday, February 17, 2017 11:28 AM >> To: Jeff Westfahl <jeff.westfahl@ni.com> >> Cc: Ni, Ruiyu <ruiyu.ni@intel.com>; Carsey, Jaben >> <jaben.carsey@intel.com>; edk2-devel@lists.01.org >> Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >> specifier for LoadedImage >> >> I was reading the email. I was also waiting and making sure there was >> consensus since I didn't have a strong opinion. I will let Ray check also, but I >> think the fix is good. >> >> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> >> >>> -----Original Message----- >>> From: Jeff Westfahl [mailto:jeff.westfahl@ni.com] >>> Sent: Friday, February 17, 2017 8:55 AM >>> To: Jeff Westfahl <jeff.westfahl@ni.com> >>> Cc: edk2-devel@lists.01.org; Carsey, Jaben <jaben.carsey@intel.com>; Ni, >>> Ruiyu <ruiyu.ni@intel.com> >>> Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >>> specifier for LoadedImage >>> Importance: High >>> >>> Jaben, Ruiyu, >>> >>> Sorry, I forgot to cc you as the ShellPkg maintainers when I submitted >>> this patch. >>> >>> Regards, >>> Jeff Westfahl >>> >>> On Wed, 15 Feb 2017, Jeff Westfahl wrote: >>> >>>> Jim, >>>> >>>> I agree that those are good ideas. However, such an implementation >> would >>>> still crash on a BIOS built against the EDK II before commit 891d844. I think >>>> it might be best to resolve the crash with the simple patch I have made, >>> and >>>> defer your suggestions for now. >>>> >>>> Regards, >>>> Jeff >>>> >>>> On Tue, 14 Feb 2017, Jim.Dailey@dell.com wrote: >>>> >>>>> Please disregard the earlier "Confidential" text. The stupid plug-in that >>>>> adds this >>>>> does not show the text in the mail when it is composed in text mode, so >> I >>>>> often >>>>> forget to turn this "feature" off when posting. Sorry. >>>>> >>>>> -----Original Message----- >>>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf >> Of >>>>> Dailey, Jim >>>>> Sent: Tuesday, February 14, 2017 4:40 PM >>>>> To: jeff.westfahl@ni.com; edk2-devel@lists.01.org >>>>> Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >>>>> specifier for LoadedImage >>>>> >>>>> Jeff, >>>>> >>>>> Perhaps a better approach is to print *all* the LoadOptions data as hex >>>>> bytes? >>>>> >>>>> In addition, one might first analyze the LoadOptions data, and, when >>>>> apropos, >>>>> print obvious strings as strings? >>>>> >>>>> Regards, >>>>> Jim >>>>> >>>>> -----Original Message----- >>>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf >> Of >>> Jeff >>>>> Westfahl >>>>> Sent: Tuesday, February 14, 2017 3:54 PM >>>>> To: edk2-devel@lists.01.org >>>>> Subject: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >>> specifier >>>>> for LoadedImage >>>>> >>>>> The format specifier for the LoadOptions field of the LoadedImage >>> protocol >>>>> is "%s". However, the data in LoadOptions is often generic binary data. A >>>>> format specifier of "%x" is more appropriate for this field. >>>>> >>>>> Using "dh -v" with format specifier "%s" on BIOS images based on EDK II >>>>> source before commit 891d844 can cause a crash. >>>>> >>>>> Contributed-under: TianoCore Contribution Agreement 1.0 >>>>> Signed-off-by: Jeff Westfahl <jeff.westfahl@ni.com> >>>>> --- >>>>> ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni | 2 +- >>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>> >>>>> diff --git >>> a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >>>>> b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >>>>> index 0d51627c5f..273a4201bc 100644 >>>>> --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >>>>> +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >>>>> @@ -354,7 +354,7 @@ >>>>> " DeviceHandle..: >>>>> %%H%x%%N\r\n" >>>>> " FilePath......: >>>>> %%H%x%%N\r\n" >>>>> " OptionsSize...: >>>>> %%H%x%%N\r\n" >>>>> - " LoadOptions...: >>>>> %%H%s%%N\r\n" >>>>> + " LoadOptions...: >>>>> %%H%x%%N\r\n" >>>>> " ImageBase.....: >>>>> %%H%x%%N\r\n" >>>>> " ImageSize.....: >>>>> %%H%Lx%%N\r\n" >>>>> " CodeType......: >>>>> %%H%s%%N\r\n" >>>>> -- >>>>> 2.11.0.windows.3 >>>>> >>>>> _______________________________________________ >>>>> edk2-devel mailing list >>>>> edk2-devel@lists.01.org >>>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>>> _______________________________________________ >>>>> edk2-devel mailing list >>>>> edk2-devel@lists.01.org >>>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>>> >>>> _______________________________________________ >>>> edk2-devel mailing list >>>> edk2-devel@lists.01.org >>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>> >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
© 2016 - 2024 Red Hat, Inc.