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.re...@intel.com>; Narey, Jacob
> <jacob.na...@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.re...@intel.com>
> Reviewed-by: Jacob Narey <jacob.na...@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+ow...@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub [ray...@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/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: 
https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to