[edk2-devel] [PATCH] UefiPayloadPkg: Fix incorrect code on AddSectionHeader

brucex.wang@intel.com posted 1 patch 10 months, 2 weeks ago
Failed in applying to current master (apply log)
UefiPayloadPkg/Tools/ElfFv.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[edk2-devel] [PATCH] UefiPayloadPkg: Fix incorrect code on AddSectionHeader
Posted by brucex.wang@intel.com 10 months, 2 weeks ago
From: BruceX Wang <brucex.wang@intel.com>

Fix incorrect code on AddSectionHeader32() and AddSectionHeader64()

Cc: Guo Dong <guo.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Sean Rhodes <sean@starlabs.systems>
Cc: James Lu <james.lu@intel.com>
Signed-off-by: BruceX Wang <brucex.wang@intel.com>
---
 UefiPayloadPkg/Tools/ElfFv.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/UefiPayloadPkg/Tools/ElfFv.py b/UefiPayloadPkg/Tools/ElfFv.py
index a3d5bf08b9..3f0f9272a7 100644
--- a/UefiPayloadPkg/Tools/ElfFv.py
+++ b/UefiPayloadPkg/Tools/ElfFv.py
@@ -267,7 +267,7 @@ def AddSectionHeader64(SHentry, NewUPLEntrylen, SectionHeaderEntrySize, Index, R
         # if RemoveNameOffset != 0 that is remove function.
         if (RemoveNameOffset != 0):
             if (unpacked_header.sh_name > RemoveNameOffset):
-                unpacked_header.sh_name -= RemoveNameOffset
+                unpacked_header.sh_name -= len (SectionName)
             # Modify size of name string section entry in section entry.
             if (Index == StringIndexNumber):
                 unpacked_header.sh_size -= len (SectionName)
@@ -298,7 +298,7 @@ def AddSectionHeader32(SHentry, NewUPLEntrylen, SectionHeaderEntrySize, Index, R
         # if RemoveNameOffset != 0 that is remove function.
         if (RemoveNameOffset != 0):
             if (unpacked_header.sh_name > RemoveNameOffset):
-                unpacked_header.sh_name -= RemoveNameOffset
+                unpacked_header.sh_name -= len (SectionName)
             # Modify size of name string section entry in section entry.
             if (Index == StringIndexNumber):
                 unpacked_header.sh_size -= len (SectionName)
@@ -710,7 +710,7 @@ def AddSection32(UniversalPayloadEntry, AddSectionName, ElfHeaderOffset, Section
         ElfHeaderSize = 52
         ElfHandPH = ElfHeaderSize + (elf_header.e_phnum * elf_header.e_phentsize)
         NewUPLEntry = UPLEntry[:ElfHandPH]
-        # Keep Section header and program header table, AddSection64() only recombined section and section header.
+        # Keep Section header and program header table, AddSection32() only recombined section and section header.
         NewUPLEntry = bytearray(NewUPLEntry)
         # Sections is recombined.
         # 1. name of added section is added in name string section.
-- 
2.39.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#106087): https://edk2.groups.io/g/devel/message/106087
Mute This Topic: https://groups.io/mt/99528264/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] UefiPayloadPkg: Fix incorrect code on AddSectionHeader
Posted by Wang, BruceX 10 months, 2 weeks ago

-----Original Message-----
From: Wang, BruceX <brucex.wang@intel.com> 
Sent: Wednesday, June 14, 2023 10:00 PM
To: devel@edk2.groups.io
Cc: Wang, BruceX <brucex.wang@intel.com>; Dong, Guo <guo.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Rhodes, Sean <sean@starlabs.systems>; Lu, James <james.lu@intel.com>
Subject: [PATCH] UefiPayloadPkg: Fix incorrect code on AddSectionHeader

From: BruceX Wang <brucex.wang@intel.com>

Fix incorrect code on AddSectionHeader32() and AddSectionHeader64()

Cc: Guo Dong <guo.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Sean Rhodes <sean@starlabs.systems>
Cc: James Lu <james.lu@intel.com>
Signed-off-by: BruceX Wang <brucex.wang@intel.com>
---
 UefiPayloadPkg/Tools/ElfFv.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/UefiPayloadPkg/Tools/ElfFv.py b/UefiPayloadPkg/Tools/ElfFv.py index a3d5bf08b9..3f0f9272a7 100644
--- a/UefiPayloadPkg/Tools/ElfFv.py
+++ b/UefiPayloadPkg/Tools/ElfFv.py
@@ -267,7 +267,7 @@ def AddSectionHeader64(SHentry, NewUPLEntrylen, SectionHeaderEntrySize, Index, R
         # if RemoveNameOffset != 0 that is remove function.         if (RemoveNameOffset != 0):             if (unpacked_header.sh_name > RemoveNameOffset):-                unpacked_header.sh_name -= RemoveNameOffset+                unpacked_header.sh_name -= len (SectionName)             # Modify size of name string section entry in section entry.             if (Index == StringIndexNumber):                 unpacked_header.sh_size -= len (SectionName)@@ -298,7 +298,7 @@ def AddSectionHeader32(SHentry, NewUPLEntrylen, SectionHeaderEntrySize, Index, R
         # if RemoveNameOffset != 0 that is remove function.         if (RemoveNameOffset != 0):             if (unpacked_header.sh_name > RemoveNameOffset):-                unpacked_header.sh_name -= RemoveNameOffset+                unpacked_header.sh_name -= len (SectionName)             # Modify size of name string section entry in section entry.             if (Index == StringIndexNumber):                 unpacked_header.sh_size -= len (SectionName)@@ -710,7 +710,7 @@ def AddSection32(UniversalPayloadEntry, AddSectionName, ElfHeaderOffset, Section
         ElfHeaderSize = 52         ElfHandPH = ElfHeaderSize + (elf_header.e_phnum * elf_header.e_phentsize)         NewUPLEntry = UPLEntry[:ElfHandPH]-        # Keep Section header and program header table, AddSection64() only recombined section and section header.+        # Keep Section header and program header table, AddSection32() only recombined section and section header.         NewUPLEntry = bytearray(NewUPLEntry)         # Sections is recombined.         # 1. name of added section is added in name string section.-- 
2.39.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#106088): https://edk2.groups.io/g/devel/message/106088
Mute This Topic: https://groups.io/mt/99528264/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] UefiPayloadPkg: Fix incorrect code on AddSectionHeader
Posted by Guo, Gua 10 months, 2 weeks ago
Reviewed-by: Gua Guo <gua.guo@intel.com>
-----Original Message-----
From: Wang, BruceX <brucex.wang@intel.com> 
Sent: Wednesday, June 14, 2023 10:00 PM
To: devel@edk2.groups.io
Cc: Wang, BruceX <brucex.wang@intel.com>; Dong, Guo <guo.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Rhodes, Sean <sean@starlabs.systems>; Lu, James <james.lu@intel.com>
Subject: [PATCH] UefiPayloadPkg: Fix incorrect code on AddSectionHeader

From: BruceX Wang <brucex.wang@intel.com>

Fix incorrect code on AddSectionHeader32() and AddSectionHeader64()

Cc: Guo Dong <guo.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Sean Rhodes <sean@starlabs.systems>
Cc: James Lu <james.lu@intel.com>
Signed-off-by: BruceX Wang <brucex.wang@intel.com>
---
 UefiPayloadPkg/Tools/ElfFv.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/UefiPayloadPkg/Tools/ElfFv.py b/UefiPayloadPkg/Tools/ElfFv.py index a3d5bf08b9..3f0f9272a7 100644
--- a/UefiPayloadPkg/Tools/ElfFv.py
+++ b/UefiPayloadPkg/Tools/ElfFv.py
@@ -267,7 +267,7 @@ def AddSectionHeader64(SHentry, NewUPLEntrylen, SectionHeaderEntrySize, Index, R
         # if RemoveNameOffset != 0 that is remove function.         if (RemoveNameOffset != 0):             if (unpacked_header.sh_name > RemoveNameOffset):-                unpacked_header.sh_name -= RemoveNameOffset+                unpacked_header.sh_name -= len (SectionName)             # Modify size of name string section entry in section entry.             if (Index == StringIndexNumber):                 unpacked_header.sh_size -= len (SectionName)@@ -298,7 +298,7 @@ def AddSectionHeader32(SHentry, NewUPLEntrylen, SectionHeaderEntrySize, Index, R
         # if RemoveNameOffset != 0 that is remove function.         if (RemoveNameOffset != 0):             if (unpacked_header.sh_name > RemoveNameOffset):-                unpacked_header.sh_name -= RemoveNameOffset+                unpacked_header.sh_name -= len (SectionName)             # Modify size of name string section entry in section entry.             if (Index == StringIndexNumber):                 unpacked_header.sh_size -= len (SectionName)@@ -710,7 +710,7 @@ def AddSection32(UniversalPayloadEntry, AddSectionName, ElfHeaderOffset, Section
         ElfHeaderSize = 52         ElfHandPH = ElfHeaderSize + (elf_header.e_phnum * elf_header.e_phentsize)         NewUPLEntry = UPLEntry[:ElfHandPH]-        # Keep Section header and program header table, AddSection64() only recombined section and section header.+        # Keep Section header and program header table, AddSection32() only recombined section and section header.         NewUPLEntry = bytearray(NewUPLEntry)         # Sections is recombined.         # 1. name of added section is added in name string section.-- 
2.39.1.windows.1



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