public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Fix return value in ShadowMicrocode.
@ 2020-12-08  6:19 Aaron Li
  2020-12-09  6:19 ` [edk2-devel] " Ni, Ray
       [not found] ` <164EF7F6368FEA75.12383@groups.io>
  0 siblings, 2 replies; 3+ messages in thread
From: Aaron Li @ 2020-12-08  6:19 UTC (permalink / raw)
  To: devel; +Cc: Ray Ni, Rangasai V Chaganty, Siyuan Fu

ShadowMicrocode should return EFI_NOT_FOUND when no valid Microcode found
in FIT table.

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3110

Signed-off-by: Aaron Li <aaron.li@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
---
 Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c
index 5c7ee6910c8e..5539a121cbb6 100644
--- a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c
+++ b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c
@@ -377,6 +377,9 @@ IsValidFitTable (
                                    with microcode patches data in it.
 
   @retval EFI_SUCCESS              The microcode has been shadowed to memory.
+  @retval EFI_INVALID_PARAMETER    BufferSize or Buffer is NULL.
+  @retval EFI_INVALID_PARAMETER    CpuIdCount not equal to 0 and MicrocodeCpuId is NULL.
+  @retval EFI_NOT_FOUND            No valid microcode found.
   @retval EFI_OUT_OF_RESOURCES     The operation fails due to lack of resources.
 
 **/
@@ -460,6 +463,9 @@ ShadowMicrocode (
       ));
 
     ShadowMicrocodePatchWorker (PatchInfoBuffer, PatchCount, TotalLoadSize, BufferSize, Buffer);
+  } else {
+    FreePool (PatchInfoBuffer);
+    return EFI_NOT_FOUND;
   }
 
   FreePool (PatchInfoBuffer);
-- 
2.29.2.windows.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [edk2-devel] [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Fix return value in ShadowMicrocode.
  2020-12-08  6:19 [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Fix return value in ShadowMicrocode Aaron Li
@ 2020-12-09  6:19 ` Ni, Ray
       [not found] ` <164EF7F6368FEA75.12383@groups.io>
  1 sibling, 0 replies; 3+ messages in thread
From: Ni, Ray @ 2020-12-09  6:19 UTC (permalink / raw)
  To: devel@edk2.groups.io, Li, Aaron; +Cc: Chaganty, Rangasai V, Fu, Siyuan

It seems PatchInfoBuffer is not freed when Not Found is returned.

Thanks,
Ray

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Aaron Li
> Sent: Tuesday, December 8, 2020 2:19 PM
> To: devel@edk2.groups.io
> Cc: Ni, Ray <ray.ni@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>
> Subject: [edk2-devel] [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Fix
> return value in ShadowMicrocode.
> 
> ShadowMicrocode should return EFI_NOT_FOUND when no valid Microcode
> found
> in FIT table.
> 
> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3110
> 
> Signed-off-by: Aaron Li <aaron.li@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Siyuan Fu <siyuan.fu@intel.com>
> ---
> 
> Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c
> | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> .c
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> .c
> index 5c7ee6910c8e..5539a121cbb6 100644
> ---
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> .c
> +++
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> .c
> @@ -377,6 +377,9 @@ IsValidFitTable (
>                                     with microcode patches data in it.
> 
> 
> 
>    @retval EFI_SUCCESS              The microcode has been shadowed to memory.
> 
> +  @retval EFI_INVALID_PARAMETER    BufferSize or Buffer is NULL.
> 
> +  @retval EFI_INVALID_PARAMETER    CpuIdCount not equal to 0 and
> MicrocodeCpuId is NULL.
> 
> +  @retval EFI_NOT_FOUND            No valid microcode found.
> 
>    @retval EFI_OUT_OF_RESOURCES     The operation fails due to lack of
> resources.
> 
> 
> 
>  **/
> 
> @@ -460,6 +463,9 @@ ShadowMicrocode (
>        ));
> 
> 
> 
>      ShadowMicrocodePatchWorker (PatchInfoBuffer, PatchCount, TotalLoadSize,
> BufferSize, Buffer);
> 
> +  } else {
> 
> +    FreePool (PatchInfoBuffer);
> 
> +    return EFI_NOT_FOUND;
> 
>    }
> 
> 
> 
>    FreePool (PatchInfoBuffer);
> 
> --
> 2.29.2.windows.2
> 
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#68443): https://edk2.groups.io/g/devel/message/68443
> Mute This Topic: https://groups.io/mt/78798288/1712937
> Group Owner: devel+owner@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub [ray.ni@intel.com]
> -=-=-=-=-=-=
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [edk2-devel] [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Fix return value in ShadowMicrocode.
       [not found] ` <164EF7F6368FEA75.12383@groups.io>
@ 2020-12-09  6:25   ` Ni, Ray
  0 siblings, 0 replies; 3+ messages in thread
From: Ni, Ray @ 2020-12-09  6:25 UTC (permalink / raw)
  To: devel@edk2.groups.io, Ni, Ray, Li, Aaron; +Cc: Chaganty, Rangasai V, Fu, Siyuan

OK. I saw the code that calls FreePool(). So no memory leak issue.
(though FreePool is a nop in PEI)

Can you improve the change a bit by merging the two FreePool (PatchInfoBuffer) together?

Thanks,
Ray

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Ni, Ray
> Sent: Wednesday, December 9, 2020 2:19 PM
> To: devel@edk2.groups.io; Li, Aaron <aaron.li@intel.com>
> Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Fu, Siyuan
> <siyuan.fu@intel.com>
> Subject: Re: [edk2-devel] [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei:
> Fix return value in ShadowMicrocode.
> 
> It seems PatchInfoBuffer is not freed when Not Found is returned.
> 
> Thanks,
> Ray
> 
> > -----Original Message-----
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Aaron Li
> > Sent: Tuesday, December 8, 2020 2:19 PM
> > To: devel@edk2.groups.io
> > Cc: Ni, Ray <ray.ni@intel.com>; Chaganty, Rangasai V
> > <rangasai.v.chaganty@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>
> > Subject: [edk2-devel] [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei:
> Fix
> > return value in ShadowMicrocode.
> >
> > ShadowMicrocode should return EFI_NOT_FOUND when no valid Microcode
> > found
> > in FIT table.
> >
> > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3110
> >
> > Signed-off-by: Aaron Li <aaron.li@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com>
> > Cc: Siyuan Fu <siyuan.fu@intel.com>
> > ---
> >
> >
> Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c
> > | 6 ++++++
> >  1 file changed, 6 insertions(+)
> >
> > diff --git
> >
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> > .c
> >
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> > .c
> > index 5c7ee6910c8e..5539a121cbb6 100644
> > ---
> >
> a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> > .c
> > +++
> >
> b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei
> > .c
> > @@ -377,6 +377,9 @@ IsValidFitTable (
> >                                     with microcode patches data in it.
> >
> >
> >
> >    @retval EFI_SUCCESS              The microcode has been shadowed to
> memory.
> >
> > +  @retval EFI_INVALID_PARAMETER    BufferSize or Buffer is NULL.
> >
> > +  @retval EFI_INVALID_PARAMETER    CpuIdCount not equal to 0 and
> > MicrocodeCpuId is NULL.
> >
> > +  @retval EFI_NOT_FOUND            No valid microcode found.
> >
> >    @retval EFI_OUT_OF_RESOURCES     The operation fails due to lack of
> > resources.
> >
> >
> >
> >  **/
> >
> > @@ -460,6 +463,9 @@ ShadowMicrocode (
> >        ));
> >
> >
> >
> >      ShadowMicrocodePatchWorker (PatchInfoBuffer, PatchCount,
> TotalLoadSize,
> > BufferSize, Buffer);
> >
> > +  } else {
> >
> > +    FreePool (PatchInfoBuffer);
> >
> > +    return EFI_NOT_FOUND;
> >
> >    }
> >
> >
> >
> >    FreePool (PatchInfoBuffer);
> >
> > --
> > 2.29.2.windows.2
> >
> >
> >
> > -=-=-=-=-=-=
> > Groups.io Links: You receive all messages sent to this group.
> > View/Reply Online (#68443): https://edk2.groups.io/g/devel/message/68443
> > Mute This Topic: https://groups.io/mt/78798288/1712937
> > Group Owner: devel+owner@edk2.groups.io
> > Unsubscribe: https://edk2.groups.io/g/devel/unsub [ray.ni@intel.com]
> > -=-=-=-=-=-=
> >
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-12-09  6:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-08  6:19 [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Fix return value in ShadowMicrocode Aaron Li
2020-12-09  6:19 ` [edk2-devel] " Ni, Ray
     [not found] ` <164EF7F6368FEA75.12383@groups.io>
2020-12-09  6:25   ` Ni, Ray

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox