UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4360
An incorrect format specifier is being used in a DEBUG print,
specifically, a variable of type EFI_STATUS was being printed with
the %a format specifier (pointer to an ASCII string), thus the value of
the Status variable was being treated as the address of a string,
leading to a CPU exception, when encountered this bug manifests itself
as a hang near "Ready to Boot Event", with the last DEBUG print being
"INFO: Got MicrocodePatchHob with microcode patches starting address"
followed by a CPU Exception dump.
Signed-off-by: Darbin Reyes <darbin.reyes@intel.com>
Reviewed-by: Jacob Narey <jacob.narey@intel.com>
---
UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c b/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c
index 762ca159ff..5fd3b3365c 100644
--- a/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c
+++ b/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c
@@ -238,7 +238,7 @@ MeasureMicrocodePatches (
TotalMicrocodeSize)
);
} else {
- DEBUG ((DEBUG_ERROR, "ERROR: TpmMeasureAndLogData failed with status %a!\n", Status));
+ DEBUG ((DEBUG_ERROR, "ERROR: TpmMeasureAndLogData failed with status %r!\n", Status));
}
FreePool (Offsets);
--
2.38.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#100818): https://edk2.groups.io/g/devel/message/100818
Mute This Topic: https://groups.io/mt/97461560/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Reviewed-by: Eric Dong <eric.dong@intel.com> -----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Darbin Reyes Sent: Wednesday, March 8, 2023 7:04 AM To: devel@edk2.groups.io Cc: Reyes, Darbin <darbin.reyes@intel.com>; Narey, Jacob <jacob.narey@intel.com> Subject: [edk2-devel] [PATCH] UefiCpuPkg/MicrocodeMeasurementDxe: Fix exception REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4360 An incorrect format specifier is being used in a DEBUG print, specifically, a variable of type EFI_STATUS was being printed with the %a format specifier (pointer to an ASCII string), thus the value of the Status variable was being treated as the address of a string, leading to a CPU exception, when encountered this bug manifests itself as a hang near "Ready to Boot Event", with the last DEBUG print being "INFO: Got MicrocodePatchHob with microcode patches starting address" followed by a CPU Exception dump. Signed-off-by: Darbin Reyes <darbin.reyes@intel.com> Reviewed-by: Jacob Narey <jacob.narey@intel.com> --- UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c b/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c index 762ca159ff..5fd3b3365c 100644 --- a/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c +++ b/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c @@ -238,7 +238,7 @@ MeasureMicrocodePatches ( TotalMicrocodeSize) ); } else {- DEBUG ((DEBUG_ERROR, "ERROR: TpmMeasureAndLogData failed with status %a!\n", Status));+ DEBUG ((DEBUG_ERROR, "ERROR: TpmMeasureAndLogData failed with status %r!\n", Status)); } FreePool (Offsets);-- 2.38.1.windows.1 -=-=-=-=-=-= Groups.io Links: You receive all messages sent to this group. View/Reply Online (#100818): https://edk2.groups.io/g/devel/message/100818 Mute This Topic: https://groups.io/mt/97461560/1768733 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [eric.dong@intel.com] -=-=-=-=-=-= -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#100982): https://edk2.groups.io/g/devel/message/100982 Mute This Topic: https://groups.io/mt/97461560/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Great fix. I am wondering why this bug was not found earlier. If Status is 0 (Success), #PF exception would occur when NULL pointer protection is turned on. If Status is 0x80000000_x (Error), #GP exception would occur because an address with only the BIT63 set is an invalid address. Thanks, Ray > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Darbin > Reyes > Sent: Wednesday, March 8, 2023 7:04 AM > To: devel@edk2.groups.io > Cc: Reyes, Darbin <darbin.reyes@intel.com>; Narey, Jacob > <jacob.narey@intel.com> > Subject: [edk2-devel] [PATCH] UefiCpuPkg/MicrocodeMeasurementDxe: Fix > exception > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4360 > > An incorrect format specifier is being used in a DEBUG print, > specifically, a variable of type EFI_STATUS was being printed with > the %a format specifier (pointer to an ASCII string), thus the value of > the Status variable was being treated as the address of a string, > leading to a CPU exception, when encountered this bug manifests itself > as a hang near "Ready to Boot Event", with the last DEBUG print being > "INFO: Got MicrocodePatchHob with microcode patches starting address" > followed by a CPU Exception dump. > > Signed-off-by: Darbin Reyes <darbin.reyes@intel.com> > Reviewed-by: Jacob Narey <jacob.narey@intel.com> > --- > UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c | > 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git > a/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > b/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > index 762ca159ff..5fd3b3365c 100644 > --- > a/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > +++ > b/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > @@ -238,7 +238,7 @@ MeasureMicrocodePatches ( > TotalMicrocodeSize) > > ); > > } else { > > - DEBUG ((DEBUG_ERROR, "ERROR: TpmMeasureAndLogData failed with > status %a!\n", Status)); > > + DEBUG ((DEBUG_ERROR, "ERROR: TpmMeasureAndLogData failed with > status %r!\n", Status)); > > } > > > > FreePool (Offsets); > > -- > 2.38.1.windows.1 > > > > -=-=-=-=-=-= > Groups.io Links: You receive all messages sent to this group. > View/Reply Online (#100818): > https://edk2.groups.io/g/devel/message/100818 > Mute This Topic: https://groups.io/mt/97461560/1712937 > Group Owner: devel+owner@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub [ray.ni@intel.com] > -=-=-=-=-=-= > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#100820): https://edk2.groups.io/g/devel/message/100820 Mute This Topic: https://groups.io/mt/97461560/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Hi Ray, It is in an error path. My guess is that this error path has not been used since this bug was introduced. Can you please merge this fix? Mike > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Ni, Ray > Sent: Tuesday, March 7, 2023 3:24 PM > To: devel@edk2.groups.io; Reyes, Darbin <darbin.reyes@intel.com> > Cc: Narey, Jacob <jacob.narey@intel.com> > Subject: Re: [edk2-devel] [PATCH] UefiCpuPkg/MicrocodeMeasurementDxe: Fix exception > > Great fix. > I am wondering why this bug was not found earlier. > If Status is 0 (Success), #PF exception would occur when NULL pointer protection is turned on. > If Status is 0x80000000_x (Error), #GP exception would occur because an address with only the BIT63 set is an > invalid address. > > Thanks, > Ray > > > -----Original Message----- > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Darbin > > Reyes > > Sent: Wednesday, March 8, 2023 7:04 AM > > To: devel@edk2.groups.io > > Cc: Reyes, Darbin <darbin.reyes@intel.com>; Narey, Jacob > > <jacob.narey@intel.com> > > Subject: [edk2-devel] [PATCH] UefiCpuPkg/MicrocodeMeasurementDxe: Fix > > exception > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4360 > > > > An incorrect format specifier is being used in a DEBUG print, > > specifically, a variable of type EFI_STATUS was being printed with > > the %a format specifier (pointer to an ASCII string), thus the value of > > the Status variable was being treated as the address of a string, > > leading to a CPU exception, when encountered this bug manifests itself > > as a hang near "Ready to Boot Event", with the last DEBUG print being > > "INFO: Got MicrocodePatchHob with microcode patches starting address" > > followed by a CPU Exception dump. > > > > Signed-off-by: Darbin Reyes <darbin.reyes@intel.com> > > Reviewed-by: Jacob Narey <jacob.narey@intel.com> > > --- > > UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c | > > 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git > > a/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > > b/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > > index 762ca159ff..5fd3b3365c 100644 > > --- > > a/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > > +++ > > b/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > > @@ -238,7 +238,7 @@ MeasureMicrocodePatches ( > > TotalMicrocodeSize) > > > > ); > > > > } else { > > > > - DEBUG ((DEBUG_ERROR, "ERROR: TpmMeasureAndLogData failed with > > status %a!\n", Status)); > > > > + DEBUG ((DEBUG_ERROR, "ERROR: TpmMeasureAndLogData failed with > > status %r!\n", Status)); > > > > } > > > > > > > > FreePool (Offsets); > > > > -- > > 2.38.1.windows.1 > > > > > > > > -=-=-=-=-=-= > > Groups.io Links: You receive all messages sent to this group. > > View/Reply Online (#100818): > > https://edk2.groups.io/g/devel/message/100818 > > Mute This Topic: https://groups.io/mt/97461560/1712937 > > Group Owner: devel+owner@edk2.groups.io > > Unsubscribe: https://edk2.groups.io/g/devel/unsub [ray.ni@intel.com] > > -=-=-=-=-=-= > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#100822): https://edk2.groups.io/g/devel/message/100822 Mute This Topic: https://groups.io/mt/97461560/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Sure. I will. > -----Original Message----- > From: Kinney, Michael D <michael.d.kinney@intel.com> > Sent: Wednesday, March 8, 2023 7:53 AM > To: devel@edk2.groups.io; Ni, Ray <ray.ni@intel.com>; Reyes, Darbin > <darbin.reyes@intel.com> > Cc: Narey, Jacob <jacob.narey@intel.com>; Kinney, Michael D > <michael.d.kinney@intel.com> > Subject: RE: [edk2-devel] [PATCH] UefiCpuPkg/MicrocodeMeasurementDxe: > Fix exception > > Hi Ray, > > It is in an error path. My guess is that this error path has not been used > since this bug was introduced. > > Can you please merge this fix? > > Mike > > > -----Original Message----- > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Ni, > Ray > > Sent: Tuesday, March 7, 2023 3:24 PM > > To: devel@edk2.groups.io; Reyes, Darbin <darbin.reyes@intel.com> > > Cc: Narey, Jacob <jacob.narey@intel.com> > > Subject: Re: [edk2-devel] [PATCH] > UefiCpuPkg/MicrocodeMeasurementDxe: Fix exception > > > > Great fix. > > I am wondering why this bug was not found earlier. > > If Status is 0 (Success), #PF exception would occur when NULL pointer > protection is turned on. > > If Status is 0x80000000_x (Error), #GP exception would occur because an > address with only the BIT63 set is an > > invalid address. > > > > Thanks, > > Ray > > > > > -----Original Message----- > > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of > Darbin > > > Reyes > > > Sent: Wednesday, March 8, 2023 7:04 AM > > > To: devel@edk2.groups.io > > > Cc: Reyes, Darbin <darbin.reyes@intel.com>; Narey, Jacob > > > <jacob.narey@intel.com> > > > Subject: [edk2-devel] [PATCH] UefiCpuPkg/MicrocodeMeasurementDxe: > Fix > > > exception > > > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4360 > > > > > > An incorrect format specifier is being used in a DEBUG print, > > > specifically, a variable of type EFI_STATUS was being printed with > > > the %a format specifier (pointer to an ASCII string), thus the value of > > > the Status variable was being treated as the address of a string, > > > leading to a CPU exception, when encountered this bug manifests itself > > > as a hang near "Ready to Boot Event", with the last DEBUG print being > > > "INFO: Got MicrocodePatchHob with microcode patches starting address" > > > followed by a CPU Exception dump. > > > > > > Signed-off-by: Darbin Reyes <darbin.reyes@intel.com> > > > Reviewed-by: Jacob Narey <jacob.narey@intel.com> > > > --- > > > > UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c | > > > 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git > > > > a/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > > > > b/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > > > index 762ca159ff..5fd3b3365c 100644 > > > --- > > > > a/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > > > +++ > > > > b/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > > > @@ -238,7 +238,7 @@ MeasureMicrocodePatches ( > > > TotalMicrocodeSize) > > > > > > ); > > > > > > } else { > > > > > > - DEBUG ((DEBUG_ERROR, "ERROR: TpmMeasureAndLogData failed > with > > > status %a!\n", Status)); > > > > > > + DEBUG ((DEBUG_ERROR, "ERROR: TpmMeasureAndLogData failed > with > > > status %r!\n", Status)); > > > > > > } > > > > > > > > > > > > FreePool (Offsets); > > > > > > -- > > > 2.38.1.windows.1 > > > > > > > > > > > > -=-=-=-=-=-= > > > Groups.io Links: You receive all messages sent to this group. > > > View/Reply Online (#100818): > > > https://edk2.groups.io/g/devel/message/100818 > > > Mute This Topic: https://groups.io/mt/97461560/1712937 > > > Group Owner: devel+owner@edk2.groups.io > > > Unsubscribe: https://edk2.groups.io/g/devel/unsub [ray.ni@intel.com] > > > -=-=-=-=-=-= > > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#100824): https://edk2.groups.io/g/devel/message/100824 Mute This Topic: https://groups.io/mt/97461560/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Darbin Reyes > Sent: Tuesday, March 7, 2023 3:04 PM > To: devel@edk2.groups.io > Cc: Reyes, Darbin <darbin.reyes@intel.com>; Narey, Jacob <jacob.narey@intel.com> > Subject: [edk2-devel] [PATCH] UefiCpuPkg/MicrocodeMeasurementDxe: Fix exception > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4360 > > An incorrect format specifier is being used in a DEBUG print, > specifically, a variable of type EFI_STATUS was being printed with > the %a format specifier (pointer to an ASCII string), thus the value of > the Status variable was being treated as the address of a string, > leading to a CPU exception, when encountered this bug manifests itself > as a hang near "Ready to Boot Event", with the last DEBUG print being > "INFO: Got MicrocodePatchHob with microcode patches starting address" > followed by a CPU Exception dump. > > Signed-off-by: Darbin Reyes <darbin.reyes@intel.com> > Reviewed-by: Jacob Narey <jacob.narey@intel.com> > --- > UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > b/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > index 762ca159ff..5fd3b3365c 100644 > --- a/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > +++ b/UefiCpuPkg/MicrocodeMeasurementDxe/MicrocodeMeasurementDxe.c > @@ -238,7 +238,7 @@ MeasureMicrocodePatches ( > TotalMicrocodeSize) > > ); > > } else { > > - DEBUG ((DEBUG_ERROR, "ERROR: TpmMeasureAndLogData failed with status %a!\n", Status)); > > + DEBUG ((DEBUG_ERROR, "ERROR: TpmMeasureAndLogData failed with status %r!\n", Status)); > > } > > > > FreePool (Offsets); > > -- > 2.38.1.windows.1 > > > > -=-=-=-=-=-= > Groups.io Links: You receive all messages sent to this group. > View/Reply Online (#100818): https://edk2.groups.io/g/devel/message/100818 > Mute This Topic: https://groups.io/mt/97461560/1643496 > Group Owner: devel+owner@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub [michael.d.kinney@intel.com] > -=-=-=-=-=-= > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#100819): https://edk2.groups.io/g/devel/message/100819 Mute This Topic: https://groups.io/mt/97461560/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2023 Red Hat, Inc.