From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web08.4463.1624948065928071925 for ; Mon, 28 Jun 2021 23:27:46 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: ray.ni@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10029"; a="187779258" X-IronPort-AV: E=Sophos;i="5.83,308,1616482800"; d="scan'208";a="187779258" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jun 2021 23:27:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,308,1616482800"; d="scan'208";a="446914487" Received: from ray-dev.ccr.corp.intel.com ([10.239.158.87]) by orsmga007.jf.intel.com with ESMTP; 28 Jun 2021 23:27:43 -0700 From: "Ni, Ray" To: devel@edk2.groups.io Cc: Maurice Ma , Guo Dong , Benjamin You Subject: [PATCH 2/2] UefiPayloadPkg/PayloadLoader: Remove assertion Date: Tue, 29 Jun 2021 14:27:07 +0800 Message-Id: <20210629062707.1855-3-ray.ni@intel.com> X-Mailer: git-send-email 2.31.1.windows.1 In-Reply-To: <20210629062707.1855-1-ray.ni@intel.com> References: <20210629062707.1855-1-ray.ni@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable For R_386_RELATIVE and R_X86_64_RELATIVE, today's logic assumes that the content pointed by the Rela->r_offset is 0 but it's not always TRUE. We observed that linker may set the content to Rela->r_addend. The patch removes the assertion. There is no functionality impact for this patch. Signed-off-by: Ray Ni Cc: Maurice Ma Cc: Guo Dong Cc: Benjamin You --- UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf32Lib.c | 1 - UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf64Lib.c | 1 - 2 files changed, 2 deletions(-) diff --git a/UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf32Lib.c b/UefiPaylo= adPkg/PayloadLoaderPeim/ElfLib/Elf32Lib.c index dd27d3ce59..780f2d9507 100644 --- a/UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf32Lib.c +++ b/UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf32Lib.c @@ -164,7 +164,6 @@ ProcessRelocation32 ( // Calculation: B + A=0D //=0D if (RelaType =3D=3D SHT_RELA) {=0D - ASSERT (*Ptr =3D=3D 0);=0D *Ptr =3D (UINT32) Delta + Rela->r_addend;=0D } else {=0D //=0D diff --git a/UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf64Lib.c b/UefiPaylo= adPkg/PayloadLoaderPeim/ElfLib/Elf64Lib.c index 3f4f12903c..0f1b06e8cc 100644 --- a/UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf64Lib.c +++ b/UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf64Lib.c @@ -173,7 +173,6 @@ ProcessRelocation64 ( // Calculation: B + A=0D //=0D if (RelaType =3D=3D SHT_RELA) {=0D - ASSERT (*Ptr =3D=3D 0);=0D *Ptr =3D Delta + Rela->r_addend;=0D } else {=0D //=0D --=20 2.31.1.windows.1