* [PATCH] MdePkg/UefiDevicePathLib: Fix print logic in DevPathToTextiSCSI @ 2018-09-27 7:37 Songpeng Li 2018-09-27 7:51 ` Fu, Siyuan 2018-09-27 15:03 ` Kinney, Michael D 0 siblings, 2 replies; 4+ messages in thread From: Songpeng Li @ 2018-09-27 7:37 UTC (permalink / raw) To: edk2-devel; +Cc: Fu Siyuan, Wu Jiaxin, Liming Gao In DevPathToTextiSCSI(), ISCSIDevPath->Lun is printed in reversed orders. Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1216 Cc: Fu Siyuan <siyuan.fu@intel.com> Cc: Wu Jiaxin <jiaxin.wu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Songpeng Li <songpeng.li@intel.com> --- MdePkg/Library/UefiDevicePathLib/DevicePathToText.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c b/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c index 7d8d304f6f..3f6478e43c 100644 --- a/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c +++ b/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c @@ -1548,7 +1548,7 @@ DevPathToTextiSCSI ( ISCSIDevPath->TargetName, ISCSIDevPath->TargetPortalGroupTag ); - for (Index = 0; Index < sizeof (ISCSIDevPath->Lun) / sizeof (UINT8); Index++) { + for (Index = sizeof (ISCSIDevPath->Lun) / sizeof (UINT8) - 1; Index >= 0; Index--) { UefiDevicePathLibCatPrint (Str, L"%02x", ((UINT8 *)&ISCSIDevPath->Lun)[Index]); } Options = ISCSIDevPath->LoginOption; -- 2.18.0.windows.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] MdePkg/UefiDevicePathLib: Fix print logic in DevPathToTextiSCSI 2018-09-27 7:37 [PATCH] MdePkg/UefiDevicePathLib: Fix print logic in DevPathToTextiSCSI Songpeng Li @ 2018-09-27 7:51 ` Fu, Siyuan 2018-09-27 8:09 ` Li, Songpeng 2018-09-27 15:03 ` Kinney, Michael D 1 sibling, 1 reply; 4+ messages in thread From: Fu, Siyuan @ 2018-09-27 7:51 UTC (permalink / raw) To: Li, Songpeng, edk2-devel@lists.01.org; +Cc: Wu, Jiaxin, Gao, Liming Hi, Songpeng According to the iSCSI text device note in UEFI spec, the byte 0 of LUN should come first, seems there is no problem in original code logic. Could you please double confirm that? "The LUN is an 8 byte array that is displayed in hexadecimal format with byte 0 first (i.e., on the left) and byte 7 last (i.e, on the right), and is required." BestRegards Fu Siyuan > -----Original Message----- > From: Li, Songpeng > Sent: Thursday, September 27, 2018 3:37 PM > To: edk2-devel@lists.01.org > Cc: Fu, Siyuan <siyuan.fu@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>; > Gao, Liming <liming.gao@intel.com> > Subject: [PATCH] MdePkg/UefiDevicePathLib: Fix print logic in > DevPathToTextiSCSI > > In DevPathToTextiSCSI(), ISCSIDevPath->Lun is printed in reversed orders. > > Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1216 > Cc: Fu Siyuan <siyuan.fu@intel.com> > Cc: Wu Jiaxin <jiaxin.wu@intel.com> > Cc: Liming Gao <liming.gao@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Songpeng Li <songpeng.li@intel.com> > --- > MdePkg/Library/UefiDevicePathLib/DevicePathToText.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c > b/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c > index 7d8d304f6f..3f6478e43c 100644 > --- a/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c > +++ b/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c > @@ -1548,7 +1548,7 @@ DevPathToTextiSCSI ( > ISCSIDevPath->TargetName, > ISCSIDevPath->TargetPortalGroupTag > ); > - for (Index = 0; Index < sizeof (ISCSIDevPath->Lun) / sizeof (UINT8); > Index++) { > + for (Index = sizeof (ISCSIDevPath->Lun) / sizeof (UINT8) - 1; Index >= > 0; Index--) { > UefiDevicePathLibCatPrint (Str, L"%02x", ((UINT8 *)&ISCSIDevPath- > >Lun)[Index]); > } > Options = ISCSIDevPath->LoginOption; > -- > 2.18.0.windows.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] MdePkg/UefiDevicePathLib: Fix print logic in DevPathToTextiSCSI 2018-09-27 7:51 ` Fu, Siyuan @ 2018-09-27 8:09 ` Li, Songpeng 0 siblings, 0 replies; 4+ messages in thread From: Li, Songpeng @ 2018-09-27 8:09 UTC (permalink / raw) To: Fu, Siyuan, edk2-devel@lists.01.org; +Cc: Wu, Jiaxin, Gao, Liming The variable in memory is stored as little endian, so the byte 0 is actually stored in the last byte in memory. Best, Songpeng > -----Original Message----- > From: Fu, Siyuan > Sent: Thursday, September 27, 2018 3:51 PM > To: Li, Songpeng <songpeng.li@intel.com>; edk2-devel@lists.01.org > Cc: Wu, Jiaxin <jiaxin.wu@intel.com>; Gao, Liming <liming.gao@intel.com> > Subject: RE: [PATCH] MdePkg/UefiDevicePathLib: Fix print logic in > DevPathToTextiSCSI > > Hi, Songpeng > > According to the iSCSI text device note in UEFI spec, the byte 0 of LUN should > come first, seems there is no problem in original code logic. Could you please > double confirm that? > "The LUN is an 8 byte array that is displayed in hexadecimal format > with byte 0 first (i.e., on the left) and byte 7 last (i.e, on the right), and is > required." > > > BestRegards > Fu Siyuan > > > -----Original Message----- > > From: Li, Songpeng > > Sent: Thursday, September 27, 2018 3:37 PM > > To: edk2-devel@lists.01.org > > Cc: Fu, Siyuan <siyuan.fu@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>; > > Gao, Liming <liming.gao@intel.com> > > Subject: [PATCH] MdePkg/UefiDevicePathLib: Fix print logic in > > DevPathToTextiSCSI > > > > In DevPathToTextiSCSI(), ISCSIDevPath->Lun is printed in reversed orders. > > > > Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1216 > > Cc: Fu Siyuan <siyuan.fu@intel.com> > > Cc: Wu Jiaxin <jiaxin.wu@intel.com> > > Cc: Liming Gao <liming.gao@intel.com> > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Songpeng Li <songpeng.li@intel.com> > > --- > > MdePkg/Library/UefiDevicePathLib/DevicePathToText.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c > > b/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c > > index 7d8d304f6f..3f6478e43c 100644 > > --- a/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c > > +++ b/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c > > @@ -1548,7 +1548,7 @@ DevPathToTextiSCSI ( > > ISCSIDevPath->TargetName, > > ISCSIDevPath->TargetPortalGroupTag > > ); > > - for (Index = 0; Index < sizeof (ISCSIDevPath->Lun) / sizeof (UINT8); > > Index++) { > > + for (Index = sizeof (ISCSIDevPath->Lun) / sizeof (UINT8) - 1; Index >= > > 0; Index--) { > > UefiDevicePathLibCatPrint (Str, L"%02x", ((UINT8 *)&ISCSIDevPath- > > >Lun)[Index]); > > } > > Options = ISCSIDevPath->LoginOption; > > -- > > 2.18.0.windows.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] MdePkg/UefiDevicePathLib: Fix print logic in DevPathToTextiSCSI 2018-09-27 7:37 [PATCH] MdePkg/UefiDevicePathLib: Fix print logic in DevPathToTextiSCSI Songpeng Li 2018-09-27 7:51 ` Fu, Siyuan @ 2018-09-27 15:03 ` Kinney, Michael D 1 sibling, 0 replies; 4+ messages in thread From: Kinney, Michael D @ 2018-09-27 15:03 UTC (permalink / raw) To: Li, Songpeng, edk2-devel@lists.01.org, Kinney, Michael D Cc: Fu, Siyuan, Wu, Jiaxin, Gao, Liming Why divide by sizeof(UINT8)? sizeof() always returns the size in bytes. Index is type UINTN, so it will always be >=0, so I do think the loop will ever exit. Mike > -----Original Message----- > From: edk2-devel [mailto:edk2-devel- > bounces@lists.01.org] On Behalf Of Songpeng Li > Sent: Thursday, September 27, 2018 12:37 AM > To: edk2-devel@lists.01.org > Cc: Fu, Siyuan <siyuan.fu@intel.com>; Wu, Jiaxin > <jiaxin.wu@intel.com>; Gao, Liming > <liming.gao@intel.com> > Subject: [edk2] [PATCH] MdePkg/UefiDevicePathLib: Fix > print logic in DevPathToTextiSCSI > > In DevPathToTextiSCSI(), ISCSIDevPath->Lun is printed > in reversed orders. > > Ref: > https://bugzilla.tianocore.org/show_bug.cgi?id=1216 > Cc: Fu Siyuan <siyuan.fu@intel.com> > Cc: Wu Jiaxin <jiaxin.wu@intel.com> > Cc: Liming Gao <liming.gao@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Songpeng Li <songpeng.li@intel.com> > --- > MdePkg/Library/UefiDevicePathLib/DevicePathToText.c | > 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git > a/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c > b/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c > index 7d8d304f6f..3f6478e43c 100644 > --- > a/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c > +++ > b/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c > @@ -1548,7 +1548,7 @@ DevPathToTextiSCSI ( > ISCSIDevPath->TargetName, > ISCSIDevPath->TargetPortalGroupTag > ); > - for (Index = 0; Index < sizeof (ISCSIDevPath->Lun) / > sizeof (UINT8); Index++) { > + for (Index = sizeof (ISCSIDevPath->Lun) / sizeof > (UINT8) - 1; Index >= 0; Index--) { > UefiDevicePathLibCatPrint (Str, L"%02x", ((UINT8 > *)&ISCSIDevPath->Lun)[Index]); > } > Options = ISCSIDevPath->LoginOption; > -- > 2.18.0.windows.1 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-09-27 15:03 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-09-27 7:37 [PATCH] MdePkg/UefiDevicePathLib: Fix print logic in DevPathToTextiSCSI Songpeng Li 2018-09-27 7:51 ` Fu, Siyuan 2018-09-27 8:09 ` Li, Songpeng 2018-09-27 15:03 ` Kinney, Michael D
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox