Reviewed-by: Guomin Jiang <guomin.ji...@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Wang, Jian J
> Sent: Monday, March 30, 2020 12:19 PM
> To: michael.kuba...@outlook.com; devel@edk2.groups.io
> Cc: Bret Barkelew <bret.barke...@microsoft.com>; Gao, Liming
> <liming....@intel.com>; Kinney, Michael D <michael.d.kin...@intel.com>;
> Wu, Hao A <hao.a...@intel.com>
> Subject: Re: [edk2-devel] [PATCH v3 2/3] MdeModulePkg VariablePei:
> Return GetVariable() attr if EFI_BUFFER_TOO_SMALL
> 
> Reviewed-by: Jian J Wang <jian.j.w...@intel.com>
> 
> Regards,
> Jian
> 
> > -----Original Message-----
> > From: michael.kuba...@outlook.com <michael.kuba...@outlook.com>
> > Sent: Saturday, March 28, 2020 5:56 AM
> > To: devel@edk2.groups.io
> > Cc: Bret Barkelew <bret.barke...@microsoft.com>; Gao, Liming
> > <liming....@intel.com>; Kinney, Michael D
> > <michael.d.kin...@intel.com>; Wang, Jian J <jian.j.w...@intel.com>;
> > Wu, Hao A <hao.a...@intel.com>
> > Subject: [PATCH v3 2/3] MdeModulePkg VariablePei: Return GetVariable()
> > attr if EFI_BUFFER_TOO_SMALL
> >
> > From: Michael Kubacki <michael.kuba...@microsoft.com>
> >
> > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2062
> >
> > This commit makes the behavior for PeiGetVariable() match the
> > following specification-defined behavior. It is now consistent with
> > the DXE/SMM variable driver implementation.
> >
> > The UEFI specification v2.8 Errata A Section 8.2 "GetVariable()"
> > "Attributes" parameter description states:
> >
> > "If not NULL, a pointer to the memory location to return the
> > attributes bitmask for the variable. See 'Related Definitions.'
> >  If not NULL, then Attributes is set on output both when  EFI_SUCCESS
> > and when EFI_BUFFER_TOO_SMALL is returned."
> >
> > The attributes were previously only returned from the implementation
> > in Variable.c on EFI_SUCCESS. They are now returned on EFI_SUCCESS or
> > EFI_BUFFER_TOO_SMALL according to spec.
> >
> > Cc: Bret Barkelew <bret.barke...@microsoft.com>
> > Cc: Liming Gao <liming....@intel.com>
> > Cc: Michael D Kinney <michael.d.kin...@intel.com>
> > Cc: Jian J Wang <jian.j.w...@intel.com>
> > Cc: Hao A Wu <hao.a...@intel.com>
> > Signed-off-by: Michael Kubacki <michael.kuba...@microsoft.com>
> > ---
> >  MdeModulePkg/Universal/Variable/Pei/Variable.c | 19
> > ++++++++++---------
> >  1 file changed, 10 insertions(+), 9 deletions(-)
> >
> > diff --git a/MdeModulePkg/Universal/Variable/Pei/Variable.c
> > b/MdeModulePkg/Universal/Variable/Pei/Variable.c
> > index f61465fc3045..f420b58165b7 100644
> > --- a/MdeModulePkg/Universal/Variable/Pei/Variable.c
> > +++ b/MdeModulePkg/Universal/Variable/Pei/Variable.c
> > @@ -3,6 +3,7 @@
> >    PEI ReadOnly Varaiable2 PPI. These services operates the non
> > volatile storage space.
> >
> >  Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > reserved.<BR>
> > +Copyright (c) Microsoft Corporation.<BR>
> >  SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >  **/
> > @@ -1047,17 +1048,17 @@ PeiGetVariable (
> >      }
> >
> >      GetVariableNameOrData (&StoreInfo, GetVariableDataPtr
> > (Variable.CurrPtr, VariableHeader, StoreInfo.AuthFlag), VarDataSize,
> > Data);
> > -
> > -    if (Attributes != NULL) {
> > -      *Attributes = VariableHeader->Attributes;
> > -    }
> > -
> > -    *DataSize = VarDataSize;
> > -    return EFI_SUCCESS;
> > +    Status = EFI_SUCCESS;
> >    } else {
> > -    *DataSize = VarDataSize;
> > -    return EFI_BUFFER_TOO_SMALL;
> > +    Status = EFI_BUFFER_TOO_SMALL;
> >    }
> > +
> > +  if (Attributes != NULL) {
> > +    *Attributes = VariableHeader->Attributes;  }  *DataSize =
> > + VarDataSize;
> > +
> > +  return Status;
> >  }
> >
> >  /**
> > --
> > 2.16.3.windows.1
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#56728): https://edk2.groups.io/g/devel/message/56728
Mute This Topic: https://groups.io/mt/72598886/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to