[edk2-devel] [PATCH] MdeModulePkg/PCD: Pcd initialize DXE have assert

guo.guo@intel.com posted 1 patch 2 years ago
Failed in applying to current master (apply log)
MdeModulePkg/Universal/PCD/Dxe/Service.c | 5 +++++
1 file changed, 5 insertions(+)
[edk2-devel] [PATCH] MdeModulePkg/PCD: Pcd initialize DXE have assert
Posted by guo.guo@intel.com 2 years ago
From: Gua Guo <gua.guo@intel.com>

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3917

When PlatformPkg.dsc has multiple SKU IDs but didn't exist delta PCD,
System will hang on BuildPcdDxeDataBase.

Ideally, if didn't exist delta PCD by different SKU ID,
UpdatePcdDatabase () shouldn't return EFI_NOT_FOUND.

Signed-off-by: Gua Guo <gua.guo@intel.com>
---
 MdeModulePkg/Universal/PCD/Dxe/Service.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/MdeModulePkg/Universal/PCD/Dxe/Service.c b/MdeModulePkg/Universal/PCD/Dxe/Service.c
index 3965846b93..5ade8d988b 100644
--- a/MdeModulePkg/Universal/PCD/Dxe/Service.c
+++ b/MdeModulePkg/Universal/PCD/Dxe/Service.c
@@ -817,6 +817,11 @@ UpdatePcdDatabase (
   //
   Index    = (mPcdDatabase.DxeDb->Length + 7) & (~7);
   SkuDelta = NULL;
+
+  if (Index == mDxePcdDbSize) {
+    return EFI_SUCCESS;
+  }
+
   while (Index < mDxePcdDbSize) {
     SkuDelta = (PCD_DATABASE_SKU_DELTA *)((UINT8 *)mDxePcdDbBinary + Index);
     if ((SkuDelta->SkuId == SkuId) && (SkuDelta->SkuIdCompared == 0)) {
-- 
2.31.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#89557): https://edk2.groups.io/g/devel/message/89557
Mute This Topic: https://groups.io/mt/90934230/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
回复: [edk2-devel] [PATCH] MdeModulePkg/PCD: Pcd initialize DXE have assert
Posted by gaoliming 1 year, 12 months ago
Guo:
  This change is good to me. Reviewed-by: Liming Gao <gaoliming@byosoft.com.
cn>

Thanks
Liming
> -----邮件原件-----
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表
> guo.guo@intel.com
> 发送时间: 2022年5月6日 5:30
> 收件人: devel@edk2.groups.io
> 抄送: Gua Guo <gua.guo@intel.com>
> 主题: [edk2-devel] [PATCH] MdeModulePkg/PCD: Pcd initialize DXE have
> assert
> 
> From: Gua Guo <gua.guo@intel.com>
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3917
> 
> When PlatformPkg.dsc has multiple SKU IDs but didn't exist delta PCD,
> System will hang on BuildPcdDxeDataBase.
> 
> Ideally, if didn't exist delta PCD by different SKU ID,
> UpdatePcdDatabase () shouldn't return EFI_NOT_FOUND.
> 
> Signed-off-by: Gua Guo <gua.guo@intel.com>
> ---
>  MdeModulePkg/Universal/PCD/Dxe/Service.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/MdeModulePkg/Universal/PCD/Dxe/Service.c
> b/MdeModulePkg/Universal/PCD/Dxe/Service.c
> index 3965846b93..5ade8d988b 100644
> --- a/MdeModulePkg/Universal/PCD/Dxe/Service.c
> +++ b/MdeModulePkg/Universal/PCD/Dxe/Service.c
> @@ -817,6 +817,11 @@ UpdatePcdDatabase (
>    //
> 
>    Index    = (mPcdDatabase.DxeDb->Length + 7) & (~7);
> 
>    SkuDelta = NULL;
> 
> +
> 
> +  if (Index == mDxePcdDbSize) {
> 
> +    return EFI_SUCCESS;
> 
> +  }
> 
> +
> 
>    while (Index < mDxePcdDbSize) {
> 
>      SkuDelta = (PCD_DATABASE_SKU_DELTA *)((UINT8 *)mDxePcdDbBinary
> + Index);
> 
>      if ((SkuDelta->SkuId == SkuId) && (SkuDelta->SkuIdCompared == 0)) {
> 
> --
> 2.31.1.windows.1
> 
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#89557): https://edk2.groups.io/g/devel/message/89557
> Mute This Topic: https://groups.io/mt/90934230/4905953
> Group Owner: devel+owner@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub
> [gaoliming@byosoft.com.cn]
> -=-=-=-=-=-=
> 





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#89582): https://edk2.groups.io/g/devel/message/89582
Mute This Topic: https://groups.io/mt/90971174/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] MdeModulePkg/PCD: Pcd initialize DXE have assert
Posted by Guo, Gua 1 year, 12 months ago
@gaoliming<mailto:gaoliming@byosoft.com.cn>



May I get your help to add push Label on the PR ?
https://github.com/tianocore/edk2/pull/2844


It seems I don't have access right to add push Label by myself.



If have any concern please also share me.

Thanks,
Gua



-----Original Message-----
From: gaoliming <gaoliming@byosoft.com.cn>
Sent: Sunday, May 8, 2022 10:44 PM
To: devel@edk2.groups.io; guo.guo@intel.com
Cc: Guo, Gua <gua.guo@intel.com>
Subject: 回复: [edk2-devel] [PATCH] MdeModulePkg/PCD: Pcd initialize DXE have assert



Guo:

  This change is good to me. Reviewed-by: Liming Gao <gaoliming@byosoft.com.

cn>



Thanks

Liming

> -----邮件原件-----

> 发件人: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> 代表

> guo.guo@intel.com<mailto:guo.guo@intel.com>

> 发送时间: 2022年5月6日 5:30

> 收件人: devel@edk2.groups.io<mailto:devel@edk2.groups.io>

> 抄送: Gua Guo <gua.guo@intel.com<mailto:gua.guo@intel.com>>

> 主题: [edk2-devel] [PATCH] MdeModulePkg/PCD: Pcd initialize DXE have

> assert

>

> From: Gua Guo <gua.guo@intel.com<mailto:gua.guo@intel.com>>

>

> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3917

>

> When PlatformPkg.dsc has multiple SKU IDs but didn't exist delta PCD,

> System will hang on BuildPcdDxeDataBase.

>

> Ideally, if didn't exist delta PCD by different SKU ID,

> UpdatePcdDatabase () shouldn't return EFI_NOT_FOUND.

>

> Signed-off-by: Gua Guo <gua.guo@intel.com<mailto:gua.guo@intel.com>>

> ---

>  MdeModulePkg/Universal/PCD/Dxe/Service.c | 5 +++++

>  1 file changed, 5 insertions(+)

>

> diff --git a/MdeModulePkg/Universal/PCD/Dxe/Service.c

> b/MdeModulePkg/Universal/PCD/Dxe/Service.c

> index 3965846b93..5ade8d988b 100644

> --- a/MdeModulePkg/Universal/PCD/Dxe/Service.c

> +++ b/MdeModulePkg/Universal/PCD/Dxe/Service.c

> @@ -817,6 +817,11 @@ UpdatePcdDatabase (

>    //

>

>    Index    = (mPcdDatabase.DxeDb->Length + 7) & (~7);

>

>    SkuDelta = NULL;

>

> +

>

> +  if (Index == mDxePcdDbSize) {

>

> +    return EFI_SUCCESS;

>

> +  }

>

> +

>

>    while (Index < mDxePcdDbSize) {

>

>      SkuDelta = (PCD_DATABASE_SKU_DELTA *)((UINT8 *)mDxePcdDbBinary

> + Index);

>

>      if ((SkuDelta->SkuId == SkuId) && (SkuDelta->SkuIdCompared == 0))

> {

>

> --

> 2.31.1.windows.1

>

>

>

> -=-=-=-=-=-=

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

> View/Reply Online (#89557):

> https://edk2.groups.io/g/devel/message/89557

> Mute This Topic: https://groups.io/mt/90934230/4905953

> Group Owner: devel+owner@edk2.groups.io<mailto:devel+owner@edk2.groups.io>

> Unsubscribe: https://edk2.groups.io/g/devel/unsub

> [gaoliming@byosoft.com.cn]

> -=-=-=-=-=-=

>








-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#89619): https://edk2.groups.io/g/devel/message/89619
Mute This Topic: https://groups.io/mt/90994444/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


回复: [edk2-devel] [PATCH] MdeModulePkg/PCD: Pcd initialize DXE have assert
Posted by gaoliming 1 year, 12 months ago
I have merged it by https://github.com/tianocore/edk2/pull/2865

 

Thanks

Liming

发件人: Guo, Gua <gua.guo@intel.com> 
发送时间: 2022年5月9日 9:31
收件人: Gao, Liming <gaoliming@byosoft.com.cn>; devel@edk2.groups.io
抄送: Guo, Gua <gua.guo@intel.com>
主题: RE: [edk2-devel] [PATCH] MdeModulePkg/PCD: Pcd initialize DXE have assert

 

 <mailto:gaoliming@byosoft.com.cn> @gaoliming

 

May I get your help to add push Label on the PR ?
https://github.com/tianocore/edk2/pull/2844

It seems I don't have access right to add push Label by myself.

 

If have any concern please also share me.


Thanks,
Gua

 

-----Original Message-----
From: gaoliming <gaoliming@byosoft.com.cn <mailto:gaoliming@byosoft.com.cn> > 
Sent: Sunday, May 8, 2022 10:44 PM
To: devel@edk2.groups.io <mailto:devel@edk2.groups.io> ; guo.guo@intel.com <mailto:guo.guo@intel.com> 
Cc: Guo, Gua <gua.guo@intel.com <mailto:gua.guo@intel.com> >
Subject: 回复: [edk2-devel] [PATCH] MdeModulePkg/PCD: Pcd initialize DXE have assert

 

Guo:

  This change is good to me. Reviewed-by: Liming Gao <gaoliming@byosoft.com.

cn>

 

Thanks

Liming

> -----邮件原件-----

> 发件人:  <mailto:devel@edk2.groups.io> devel@edk2.groups.io < <mailto:devel@edk2.groups.io> devel@edk2.groups.io> 代表

>  <mailto:guo.guo@intel.com> guo.guo@intel.com

> 发送时间: 2022年5月6日 5:30

> 收件人:  <mailto:devel@edk2.groups.io> devel@edk2.groups.io

> 抄送: Gua Guo < <mailto:gua.guo@intel.com> gua.guo@intel.com>

> 主题: [edk2-devel] [PATCH] MdeModulePkg/PCD: Pcd initialize DXE have 

> assert

> 

> From: Gua Guo < <mailto:gua.guo@intel.com> gua.guo@intel.com>

> 

> REF:  <https://bugzilla.tianocore.org/show_bug.cgi?id=3917> https://bugzilla.tianocore.org/show_bug.cgi?id=3917

> 

> When PlatformPkg.dsc has multiple SKU IDs but didn't exist delta PCD, 

> System will hang on BuildPcdDxeDataBase.

> 

> Ideally, if didn't exist delta PCD by different SKU ID, 

> UpdatePcdDatabase () shouldn't return EFI_NOT_FOUND.

> 

> Signed-off-by: Gua Guo < <mailto:gua.guo@intel.com> gua.guo@intel.com>

> ---

>  MdeModulePkg/Universal/PCD/Dxe/Service.c | 5 +++++

>  1 file changed, 5 insertions(+)

> 

> diff --git a/MdeModulePkg/Universal/PCD/Dxe/Service.c

> b/MdeModulePkg/Universal/PCD/Dxe/Service.c

> index 3965846b93..5ade8d988b 100644

> --- a/MdeModulePkg/Universal/PCD/Dxe/Service.c

> +++ b/MdeModulePkg/Universal/PCD/Dxe/Service.c

> @@ -817,6 +817,11 @@ UpdatePcdDatabase (

>    //

> 

>    Index    = (mPcdDatabase.DxeDb->Length + 7) & (~7);

> 

>    SkuDelta = NULL;

> 

> +

> 

> +  if (Index == mDxePcdDbSize) {

> 

> +    return EFI_SUCCESS;

> 

> +  }

> 

> +

> 

>    while (Index < mDxePcdDbSize) {

> 

>      SkuDelta = (PCD_DATABASE_SKU_DELTA *)((UINT8 *)mDxePcdDbBinary

> + Index);

> 

>      if ((SkuDelta->SkuId == SkuId) && (SkuDelta->SkuIdCompared == 0)) 

> {

> 

> --

> 2.31.1.windows.1

> 

> 

> 

> -=-=-=-=-=-=

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

> View/Reply Online (#89557): 

>  <https://edk2.groups.io/g/devel/message/89557> https://edk2.groups.io/g/devel/message/89557

> Mute This Topic:  <https://groups.io/mt/90934230/4905953> https://groups.io/mt/90934230/4905953

> Group Owner:  <mailto:devel+owner@edk2.groups.io> devel+owner@edk2.groups.io

> Unsubscribe:  <https://edk2.groups.io/g/devel/unsub> https://edk2.groups.io/g/devel/unsub

> [gaoliming@byosoft.com.cn]

> -=-=-=-=-=-=

> 

 

 

 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#89616): https://edk2.groups.io/g/devel/message/89616
Mute This Topic: https://groups.io/mt/90971174/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-