From nobody Sun May 5 16:08:01 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+78939+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78939+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=posteo.de ARC-Seal: i=1; a=rsa-sha256; t=1628502715; cv=none; d=zohomail.com; s=zohoarc; b=AXrOkAbJcrQu3Y5SsVyHlGmE1eQCXKJm7pHrzKeSXa+bCW0a9qJqUuyBpf95u4G611wGMFhXXLe2CyLNjWOSm9LcM8n61fFqxpbUm3gBpbSqwzFIvXzUrIwLxDk6Sub2FBoGv05oH5T8yESvKWX5oP+/HDJ+pic9LhMK0MpB4iM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1628502715; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=dx88djP4OnJf8084tsiiGDMjBK28+o6mfnuDqb9lf4c=; b=co6Qdhp4UiKY4mJ3e77YF61anMxg8UXqaN2uot4wJ48iDMh6nb2xDRpwDyeDkcyE00/3LpDpmJSIAzOeS2OVAly52Z8OvVUSnJqYdhGzACmq8wOeJ7YClUsPmscxBWAW8WIpGarO/UorxzjzRMFWz4Ok8AiycFn/6PAvIo5bfRg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78939+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 162850271503830.27252464330661; Mon, 9 Aug 2021 02:51:55 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id KlSeYY1788612xK2f1BINLZ6; Mon, 09 Aug 2021 02:51:54 -0700 X-Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65]) by mx.groups.io with SMTP id smtpd.web11.20805.1628502713649546777 for ; Mon, 09 Aug 2021 02:51:54 -0700 X-Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 67CB7240027 for ; Mon, 9 Aug 2021 11:51:50 +0200 (CEST) X-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Gjrvm4lFkz6tmK; Mon, 9 Aug 2021 11:51:48 +0200 (CEST) From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: devel@edk2.groups.io Cc: Bob Feng , Liming Gao , Yuwei Chen , Vitaly Cheptsov Subject: [edk2-devel] [PATCH v2 1/2] BaseTools: Define the read-only data section name per toolchain Date: Mon, 9 Aug 2021 09:51:20 +0000 Message-Id: <252525969122e83d9fb9b83edc95c4f6dfd233b4.1628502434.git.mhaeuser@posteo.de> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mhaeuser@posteo.de X-Gm-Message-State: XZjrJRx1eJ5ssts2hkdjOn9Hx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1628502714; bh=zXQPbKZPR7B/fSBl4fcgaxB4PZwRpqe5tRklQ/9/J54=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=G+JGi80bTpwLBIXXhRW8i+mqEX9DKnNSVyBv4qUYTPHCHi4diIoHLZtTUvM83X9mJja /uw4k9imQf7Dgs87Omf1pUl/OkQC+eLhppFUd58rdusbJMOfzElFeqoCEGy+/EjaKjyCS RNtl7kUeY2qBdnzNenEuRv49BM383U1iELc= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1628502716649100014 Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3318 Different toolchains of the EDK II build system may generate ELF or Mach-O files, which use the ".rodata" naming convention, or PE/COFF files, which use the ".rdata" naming convention. Section permissions are chosen based on this name per file format by NASM. To harden image permission security, and to save space by avoiding both ".rdata" and ".rodata" sections being emitted, expose the appropriate name as a preprocessor constant. Cc: Bob Feng Cc: Liming Gao Cc: Yuwei Chen Cc: Vitaly Cheptsov Signed-off-by: Marvin H=C3=A4user --- BaseTools/Conf/tools_def.template | 172 ++++++++++---------- 1 file changed, 86 insertions(+), 86 deletions(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.t= emplate index 2e6b382ab623..84d464916c4d 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -463,9 +463,9 @@ NOOPT_VS2008_IA32_CC_FLAGS =3D /nologo /c /WX /G= S- /W4 /Gs32768 /D UNICODE RELEASE_VS2008_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2008_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 - DEBUG_VS2008_IA32_NASM_FLAGS =3D -Ox -f win32 -g -RELEASE_VS2008_IA32_NASM_FLAGS =3D -Ox -f win32 -NOOPT_VS2008_IA32_NASM_FLAGS =3D -O0 -f win32 -g + DEBUG_VS2008_IA32_NASM_FLAGS =3D -Ox -f win32 -g -DRODATA_SECTION_NAM= E=3D.rdata +RELEASE_VS2008_IA32_NASM_FLAGS =3D -Ox -f win32 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2008_IA32_NASM_FLAGS =3D -O0 -f win32 -g -DRODATA_SECTION_NAM= E=3D.rdata =20 DEBUG_VS2008_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /= OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /M= ACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVI= CE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2008_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /= IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTIO= N:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:E= FI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -495,9 +495,9 @@ NOOPT_VS2008_X64_CC_FLAGS =3D /nologo /c /WX /GS-= /W4 /Gs32768 /D UNICODE /G RELEASE_VS2008_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd NOOPT_VS2008_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 - DEBUG_VS2008_X64_NASM_FLAGS =3D -Ox -f win64 -g -RELEASE_VS2008_X64_NASM_FLAGS =3D -Ox -f win64 -NOOPT_VS2008_X64_NASM_FLAGS =3D -O0 -f win64 -g + DEBUG_VS2008_X64_NASM_FLAGS =3D -Ox -f win64 -g -DRODATA_SECTION_NAME= =3D.rdata +RELEASE_VS2008_X64_NASM_FLAGS =3D -Ox -f win64 -DRODATA_SECTION_NAME=3D.= rdata +NOOPT_VS2008_X64_NASM_FLAGS =3D -O0 -f win64 -g -DRODATA_SECTION_NAME= =3D.rdata =20 DEBUG_VS2008_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OP= T:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Mac= hine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE= _DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2008_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IG= NORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:= .pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI= _BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -574,9 +574,9 @@ NOOPT_VS2008x86_IA32_CC_FLAGS =3D /nologo /c /WX /= GS- /W4 /Gs32768 /D UNICODE RELEASE_VS2008x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2008x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 - DEBUG_VS2008x86_IA32_NASM_FLAGS =3D -Ox -f win32 -g -RELEASE_VS2008x86_IA32_NASM_FLAGS =3D -Ox -f win32 -NOOPT_VS2008x86_IA32_NASM_FLAGS =3D -O0 -f win32 -g + DEBUG_VS2008x86_IA32_NASM_FLAGS =3D -Ox -f win32 -g -DRODATA_SECTION_NA= ME=3D.rdata +RELEASE_VS2008x86_IA32_NASM_FLAGS =3D -Ox -f win32 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2008x86_IA32_NASM_FLAGS =3D -O0 -f win32 -g -DRODATA_SECTION_NA= ME=3D.rdata =20 DEBUG_VS2008x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /= MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERV= ICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2008x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTI= ON:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:= EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -605,9 +605,9 @@ NOOPT_VS2008x86_X64_CC_FLAGS =3D /nologo /c /WX /= GS- /W4 /Gs32768 /D UNICODE RELEASE_VS2008x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd NOOPT_VS2008x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 - DEBUG_VS2008x86_X64_NASM_FLAGS =3D -Ox -f win64 -g -RELEASE_VS2008x86_X64_NASM_FLAGS =3D -Ox -f win64 -NOOPT_VS2008x86_X64_NASM_FLAGS =3D -O0 -f win64 -g + DEBUG_VS2008x86_X64_NASM_FLAGS =3D -Ox -f win64 -g -DRODATA_SECTION_NA= ME=3D.rdata +RELEASE_VS2008x86_X64_NASM_FLAGS =3D -Ox -f win64 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2008x86_X64_NASM_FLAGS =3D -O0 -f win64 -g -DRODATA_SECTION_NA= ME=3D.rdata =20 DEBUG_VS2008x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /= Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERV= ICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2008x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTI= ON:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:= EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -688,9 +688,9 @@ NOOPT_VS2010_IA32_CC_FLAGS =3D /nologo /c /WX /G= S- /W4 /Gs32768 /D UNICODE RELEASE_VS2010_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2010_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 - DEBUG_VS2010_IA32_NASM_FLAGS =3D -Ox -f win32 -g -RELEASE_VS2010_IA32_NASM_FLAGS =3D -Ox -f win32 -NOOPT_VS2010_IA32_NASM_FLAGS =3D -O0 -f win32 -g + DEBUG_VS2010_IA32_NASM_FLAGS =3D -Ox -f win32 -g -DRODATA_SECTION_NAM= E=3D.rdata +RELEASE_VS2010_IA32_NASM_FLAGS =3D -Ox -f win32 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2010_IA32_NASM_FLAGS =3D -O0 -f win32 -g -DRODATA_SECTION_NAM= E=3D.rdata =20 DEBUG_VS2010_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /= OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /M= ACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVI= CE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2010_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /= IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTIO= N:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:E= FI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -720,9 +720,9 @@ NOOPT_VS2010_X64_CC_FLAGS =3D /nologo /c /WX /GS-= /W4 /Gs32768 /D UNICODE /G RELEASE_VS2010_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd NOOPT_VS2010_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 - DEBUG_VS2010_X64_NASM_FLAGS =3D -Ox -f win64 -g -RELEASE_VS2010_X64_NASM_FLAGS =3D -Ox -f win64 -NOOPT_VS2010_X64_NASM_FLAGS =3D -O0 -f win64 -g + DEBUG_VS2010_X64_NASM_FLAGS =3D -Ox -f win64 -g -DRODATA_SECTION_NAME= =3D.rdata +RELEASE_VS2010_X64_NASM_FLAGS =3D -Ox -f win64 -DRODATA_SECTION_NAME=3D.= rdata +NOOPT_VS2010_X64_NASM_FLAGS =3D -O0 -f win64 -g -DRODATA_SECTION_NAME= =3D.rdata =20 DEBUG_VS2010_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OP= T:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Mac= hine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE= _DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2010_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IG= NORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:= .pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI= _BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -799,9 +799,9 @@ NOOPT_VS2010x86_IA32_CC_FLAGS =3D /nologo /c /WX /= GS- /W4 /Gs32768 /D UNICODE RELEASE_VS2010x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2010x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 - DEBUG_VS2010x86_IA32_NASM_FLAGS =3D -Ox -f win32 -g -RELEASE_VS2010x86_IA32_NASM_FLAGS =3D -Ox -f win32 -NOOPT_VS2010x86_IA32_NASM_FLAGS =3D -O0 -f win32 -g + DEBUG_VS2010x86_IA32_NASM_FLAGS =3D -Ox -f win32 -g -DRODATA_SECTION_NA= ME=3D.rdata +RELEASE_VS2010x86_IA32_NASM_FLAGS =3D -Ox -f win32 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2010x86_IA32_NASM_FLAGS =3D -O0 -f win32 -g -DRODATA_SECTION_NA= ME=3D.rdata =20 DEBUG_VS2010x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /= MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERV= ICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2010x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTI= ON:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:= EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -831,9 +831,9 @@ NOOPT_VS2010x86_X64_CC_FLAGS =3D /nologo /c /WX /= GS- /W4 /Gs32768 /D UNICODE RELEASE_VS2010x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd NOOPT_VS2010x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 - DEBUG_VS2010x86_X64_NASM_FLAGS =3D -Ox -f win64 -g -RELEASE_VS2010x86_X64_NASM_FLAGS =3D -Ox -f win64 -NOOPT_VS2010x86_X64_NASM_FLAGS =3D -O0 -f win64 -g + DEBUG_VS2010x86_X64_NASM_FLAGS =3D -Ox -f win64 -g -DRODATA_SECTION_NA= ME=3D.rdata +RELEASE_VS2010x86_X64_NASM_FLAGS =3D -Ox -f win64 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2010x86_X64_NASM_FLAGS =3D -O0 -f win64 -g -DRODATA_SECTION_NA= ME=3D.rdata =20 DEBUG_VS2010x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /= Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERV= ICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2010x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTI= ON:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:= EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -913,9 +913,9 @@ NOOPT_VS2012_IA32_CC_FLAGS =3D /nologo /arch:IA3= 2 /c /WX /GS- /W4 /Gs32768 RELEASE_VS2012_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2012_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 - DEBUG_VS2012_IA32_NASM_FLAGS =3D -Ox -f win32 -g -RELEASE_VS2012_IA32_NASM_FLAGS =3D -Ox -f win32 -NOOPT_VS2012_IA32_NASM_FLAGS =3D -O0 -f win32 -g + DEBUG_VS2012_IA32_NASM_FLAGS =3D -Ox -f win32 -g -DRODATA_SECTION_NAM= E=3D.rdata +RELEASE_VS2012_IA32_NASM_FLAGS =3D -Ox -f win32 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2012_IA32_NASM_FLAGS =3D -O0 -f win32 -g -DRODATA_SECTION_NAM= E=3D.rdata =20 DEBUG_VS2012_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /= OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /M= ACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVI= CE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2012_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /= IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTIO= N:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:E= FI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -945,9 +945,9 @@ NOOPT_VS2012_X64_CC_FLAGS =3D /nologo /c /WX /GS-= /W4 /Gs32768 /D UNICODE /G RELEASE_VS2012_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd NOOPT_VS2012_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 - DEBUG_VS2012_X64_NASM_FLAGS =3D -Ox -f win64 -g -RELEASE_VS2012_X64_NASM_FLAGS =3D -Ox -f win64 -NOOPT_VS2012_X64_NASM_FLAGS =3D -O0 -f win64 -g + DEBUG_VS2012_X64_NASM_FLAGS =3D -Ox -f win64 -g -DRODATA_SECTION_NAME= =3D.rdata +RELEASE_VS2012_X64_NASM_FLAGS =3D -Ox -f win64 -DRODATA_SECTION_NAME=3D.= rdata +NOOPT_VS2012_X64_NASM_FLAGS =3D -O0 -f win64 -g -DRODATA_SECTION_NAME= =3D.rdata =20 DEBUG_VS2012_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OP= T:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Mac= hine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE= _DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2012_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IG= NORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:= .pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI= _BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -1024,9 +1024,9 @@ NOOPT_VS2012x86_IA32_CC_FLAGS =3D /nologo /arch:= IA32 /c /WX /GS- /W4 /Gs32768 RELEASE_VS2012x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2012x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 - DEBUG_VS2012x86_IA32_NASM_FLAGS =3D -Ox -f win32 -g -RELEASE_VS2012x86_IA32_NASM_FLAGS =3D -Ox -f win32 -NOOPT_VS2012x86_IA32_NASM_FLAGS =3D -O0 -f win32 -g + DEBUG_VS2012x86_IA32_NASM_FLAGS =3D -Ox -f win32 -g -DRODATA_SECTION_NA= ME=3D.rdata +RELEASE_VS2012x86_IA32_NASM_FLAGS =3D -Ox -f win32 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2012x86_IA32_NASM_FLAGS =3D -O0 -f win32 -g -DRODATA_SECTION_NA= ME=3D.rdata =20 DEBUG_VS2012x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /= MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERV= ICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2012x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTI= ON:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:= EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -1056,9 +1056,9 @@ NOOPT_VS2012x86_X64_CC_FLAGS =3D /nologo /c /WX= /GS- /W4 /Gs32768 /D UNICODE RELEASE_VS2012x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd NOOPT_VS2012x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 - DEBUG_VS2012x86_X64_NASM_FLAGS =3D -Ox -f win64 -g -RELEASE_VS2012x86_X64_NASM_FLAGS =3D -Ox -f win64 -NOOPT_VS2012x86_X64_NASM_FLAGS =3D -O0 -f win64 -g + DEBUG_VS2012x86_X64_NASM_FLAGS =3D -Ox -f win64 -g -DRODATA_SECTION_NA= ME=3D.rdata +RELEASE_VS2012x86_X64_NASM_FLAGS =3D -Ox -f win64 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2012x86_X64_NASM_FLAGS =3D -O0 -f win64 -g -DRODATA_SECTION_NA= ME=3D.rdata =20 DEBUG_VS2012x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /= Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERV= ICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2012x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTI= ON:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:= EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -1138,9 +1138,9 @@ NOOPT_VS2013_IA32_CC_FLAGS =3D /nologo /arch:I= A32 /c /WX /GS- /W4 /Gs32768 RELEASE_VS2013_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2013_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 - DEBUG_VS2013_IA32_NASM_FLAGS =3D -Ox -f win32 -g -RELEASE_VS2013_IA32_NASM_FLAGS =3D -Ox -f win32 -NOOPT_VS2013_IA32_NASM_FLAGS =3D -O0 -f win32 -g + DEBUG_VS2013_IA32_NASM_FLAGS =3D -Ox -f win32 -g -DRODATA_SECTION_NAM= E=3D.rdata +RELEASE_VS2013_IA32_NASM_FLAGS =3D -Ox -f win32 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2013_IA32_NASM_FLAGS =3D -O0 -f win32 -g -DRODATA_SECTION_NAM= E=3D.rdata =20 DEBUG_VS2013_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /= OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /M= ACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVI= CE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2013_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /= IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTIO= N:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:E= FI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -1170,9 +1170,9 @@ NOOPT_VS2013_X64_CC_FLAGS =3D /nologo /c /WX /G= S- /W4 /Gs32768 /D UNICODE /G RELEASE_VS2013_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd NOOPT_VS2013_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 - DEBUG_VS2013_X64_NASM_FLAGS =3D -Ox -f win64 -g -RELEASE_VS2013_X64_NASM_FLAGS =3D -Ox -f win64 -NOOPT_VS2013_X64_NASM_FLAGS =3D -O0 -f win64 -g + DEBUG_VS2013_X64_NASM_FLAGS =3D -Ox -f win64 -g -DRODATA_SECTION_NAME= =3D.rdata +RELEASE_VS2013_X64_NASM_FLAGS =3D -Ox -f win64 -DRODATA_SECTION_NAME=3D.= rdata +NOOPT_VS2013_X64_NASM_FLAGS =3D -O0 -f win64 -g -DRODATA_SECTION_NAME= =3D.rdata =20 DEBUG_VS2013_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OP= T:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Mac= hine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE= _DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2013_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IG= NORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:= .pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI= _BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -1249,9 +1249,9 @@ NOOPT_VS2013x86_IA32_CC_FLAGS =3D /nologo /arch:= IA32 /c /WX /GS- /W4 /Gs32768 RELEASE_VS2013x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2013x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 - DEBUG_VS2013x86_IA32_NASM_FLAGS =3D -Ox -f win32 -g -RELEASE_VS2013x86_IA32_NASM_FLAGS =3D -Ox -f win32 -NOOPT_VS2013x86_IA32_NASM_FLAGS =3D -O0 -f win32 -g + DEBUG_VS2013x86_IA32_NASM_FLAGS =3D -Ox -f win32 -g -DRODATA_SECTION_NA= ME=3D.rdata +RELEASE_VS2013x86_IA32_NASM_FLAGS =3D -Ox -f win32 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2013x86_IA32_NASM_FLAGS =3D -O0 -f win32 -g -DRODATA_SECTION_NA= ME=3D.rdata =20 DEBUG_VS2013x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /= MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERV= ICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2013x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTI= ON:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:= EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -1281,9 +1281,9 @@ NOOPT_VS2013x86_X64_CC_FLAGS =3D /nologo /c /WX= /GS- /W4 /Gs32768 /D UNICODE RELEASE_VS2013x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd NOOPT_VS2013x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 - DEBUG_VS2013x86_X64_NASM_FLAGS =3D -Ox -f win64 -g -RELEASE_VS2013x86_X64_NASM_FLAGS =3D -Ox -f win64 -NOOPT_VS2013x86_X64_NASM_FLAGS =3D -O0 -f win64 -g + DEBUG_VS2013x86_X64_NASM_FLAGS =3D -Ox -f win64 -g -DRODATA_SECTION_NA= ME=3D.rdata +RELEASE_VS2013x86_X64_NASM_FLAGS =3D -Ox -f win64 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2013x86_X64_NASM_FLAGS =3D -O0 -f win64 -g -DRODATA_SECTION_NA= ME=3D.rdata =20 DEBUG_VS2013x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /= Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERV= ICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2013x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTI= ON:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:= EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -1364,9 +1364,9 @@ NOOPT_VS2015_IA32_CC_FLAGS =3D /nologo /arch:I= A32 /c /WX /GS- /W4 /Gs32768 RELEASE_VS2015_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2015_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 - DEBUG_VS2015_IA32_NASM_FLAGS =3D -Ox -f win32 -g -RELEASE_VS2015_IA32_NASM_FLAGS =3D -Ox -f win32 -NOOPT_VS2015_IA32_NASM_FLAGS =3D -O0 -f win32 -g + DEBUG_VS2015_IA32_NASM_FLAGS =3D -Ox -f win32 -g -DRODATA_SECTION_NAM= E=3D.rdata +RELEASE_VS2015_IA32_NASM_FLAGS =3D -Ox -f win32 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2015_IA32_NASM_FLAGS =3D -O0 -f win32 -g -DRODATA_SECTION_NAM= E=3D.rdata =20 DEBUG_VS2015_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /= OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /M= ACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVI= CE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2015_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /= IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTIO= N:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:E= FI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -1396,9 +1396,9 @@ NOOPT_VS2015_X64_CC_FLAGS =3D /nologo /c /WX /G= S- /W4 /Gs32768 /D UNICODE /G RELEASE_VS2015_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd NOOPT_VS2015_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 - DEBUG_VS2015_X64_NASM_FLAGS =3D -Ox -f win64 -g -RELEASE_VS2015_X64_NASM_FLAGS =3D -Ox -f win64 -NOOPT_VS2015_X64_NASM_FLAGS =3D -O0 -f win64 -g + DEBUG_VS2015_X64_NASM_FLAGS =3D -Ox -f win64 -g -DRODATA_SECTION_NAME= =3D.rdata +RELEASE_VS2015_X64_NASM_FLAGS =3D -Ox -f win64 -DRODATA_SECTION_NAME=3D.= rdata +NOOPT_VS2015_X64_NASM_FLAGS =3D -O0 -f win64 -g -DRODATA_SECTION_NAME= =3D.rdata =20 DEBUG_VS2015_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OP= T:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Mac= hine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE= _DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2015_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IG= NORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:= .pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI= _BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -1476,9 +1476,9 @@ NOOPT_VS2015x86_IA32_CC_FLAGS =3D /nologo /arch:= IA32 /c /WX /GS- /W4 /Gs32768 RELEASE_VS2015x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2015x86_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 - DEBUG_VS2015x86_IA32_NASM_FLAGS =3D -Ox -f win32 -g -RELEASE_VS2015x86_IA32_NASM_FLAGS =3D -Ox -f win32 -NOOPT_VS2015x86_IA32_NASM_FLAGS =3D -O0 -f win32 -g + DEBUG_VS2015x86_IA32_NASM_FLAGS =3D -Ox -f win32 -g -DRODATA_SECTION_NA= ME=3D.rdata +RELEASE_VS2015x86_IA32_NASM_FLAGS =3D -Ox -f win32 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2015x86_IA32_NASM_FLAGS =3D -O0 -f win32 -g -DRODATA_SECTION_NA= ME=3D.rdata =20 DEBUG_VS2015x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /= MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERV= ICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2015x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTI= ON:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:= EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -1508,9 +1508,9 @@ NOOPT_VS2015x86_X64_CC_FLAGS =3D /nologo /c /WX= /GS- /W4 /Gs32768 /D UNICODE RELEASE_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd NOOPT_VS2015x86_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 - DEBUG_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -g -RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -NOOPT_VS2015x86_X64_NASM_FLAGS =3D -O0 -f win64 -g + DEBUG_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -g -DRODATA_SECTION_NA= ME=3D.rdata +RELEASE_VS2015x86_X64_NASM_FLAGS =3D -Ox -f win64 -DRODATA_SECTION_NAME= =3D.rdata +NOOPT_VS2015x86_X64_NASM_FLAGS =3D -O0 -f win64 -g -DRODATA_SECTION_NA= ME=3D.rdata =20 DEBUG_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /= Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERV= ICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2015x86_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 = /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTI= ON:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:= EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -1586,9 +1586,9 @@ NOOPT_VS2017_IA32_CC_FLAGS =3D /nologo /arch:IA3= 2 /c /WX /GS- /W4 /Gs32768 /D RELEASE_VS2017_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2017_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 - DEBUG_VS2017_IA32_NASM_FLAGS =3D -Ox -f win32 -g -RELEASE_VS2017_IA32_NASM_FLAGS =3D -Ox -f win32 -NOOPT_VS2017_IA32_NASM_FLAGS =3D -O0 -f win32 -g + DEBUG_VS2017_IA32_NASM_FLAGS =3D -Ox -f win32 -g -DRODATA_SECTION_NAME= =3D.rdata +RELEASE_VS2017_IA32_NASM_FLAGS =3D -Ox -f win32 -DRODATA_SECTION_NAME=3D.= rdata +NOOPT_VS2017_IA32_NASM_FLAGS =3D -O0 -f win32 -g -DRODATA_SECTION_NAME= =3D.rdata =20 DEBUG_VS2017_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OP= T:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MAC= HINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE= _DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2017_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IG= NORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:= .pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI= _BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -1616,9 +1616,9 @@ NOOPT_VS2017_X64_CC_FLAGS =3D /nologo /c /WX /G= S- /W4 /Gs32768 /D UNICODE /G RELEASE_VS2017_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd NOOPT_VS2017_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 - DEBUG_VS2017_X64_NASM_FLAGS =3D -Ox -f win64 -g -RELEASE_VS2017_X64_NASM_FLAGS =3D -Ox -f win64 -NOOPT_VS2017_X64_NASM_FLAGS =3D -O0 -f win64 -g + DEBUG_VS2017_X64_NASM_FLAGS =3D -Ox -f win64 -g -DRODATA_SECTION_NAME= =3D.rdata +RELEASE_VS2017_X64_NASM_FLAGS =3D -Ox -f win64 -DRODATA_SECTION_NAME=3D.= rdata +NOOPT_VS2017_X64_NASM_FLAGS =3D -O0 -f win64 -g -DRODATA_SECTION_NAME= =3D.rdata =20 DEBUG_VS2017_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IG= NORE:4281 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:= .pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI= _BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2017_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IG= NORE:4281 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdat= a,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /= SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata= =3D.data @@ -1744,9 +1744,9 @@ NOOPT_VS2019_IA32_CC_FLAGS =3D /nologo /arch:IA3= 2 /c /WX /GS- /W4 /Gs32768 /D RELEASE_VS2019_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd NOOPT_VS2019_IA32_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /coff /Zd /Zi =20 - DEBUG_VS2019_IA32_NASM_FLAGS =3D -Ox -f win32 -g -RELEASE_VS2019_IA32_NASM_FLAGS =3D -Ox -f win32 -NOOPT_VS2019_IA32_NASM_FLAGS =3D -O0 -f win32 -g + DEBUG_VS2019_IA32_NASM_FLAGS =3D -Ox -f win32 -g -DRODATA_SECTION_NAME= =3D.rdata +RELEASE_VS2019_IA32_NASM_FLAGS =3D -Ox -f win32 -DRODATA_SECTION_NAME=3D.= rdata +NOOPT_VS2019_IA32_NASM_FLAGS =3D -O0 -f win32 -g -DRODATA_SECTION_NAME= =3D.rdata =20 DEBUG_VS2019_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OP= T:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /MAC= HINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE= _DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2019_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IG= NORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:= .pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI= _BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data @@ -1774,9 +1774,9 @@ NOOPT_VS2019_X64_CC_FLAGS =3D /nologo /c /WX /G= S- /W4 /Gs32768 /D UNICODE /G RELEASE_VS2019_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd NOOPT_VS2019_X64_ASM_FLAGS =3D /nologo /c /WX /W3 /Cx /Zd /Zi =20 - DEBUG_VS2019_X64_NASM_FLAGS =3D -Ox -f win64 -g -RELEASE_VS2019_X64_NASM_FLAGS =3D -Ox -f win64 -NOOPT_VS2019_X64_NASM_FLAGS =3D -O0 -f win64 -g + DEBUG_VS2019_X64_NASM_FLAGS =3D -Ox -f win64 -g -DRODATA_SECTION_NAME= =3D.rdata +RELEASE_VS2019_X64_NASM_FLAGS =3D -Ox -f win64 -DRODATA_SECTION_NAME=3D.= rdata +NOOPT_VS2019_X64_NASM_FLAGS =3D -O0 -f win64 -g -DRODATA_SECTION_NAME= =3D.rdata =20 DEBUG_VS2019_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IG= NORE:4281 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:= .pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI= _BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG RELEASE_VS2019_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IG= NORE:4281 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdat= a,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /= SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata= =3D.data @@ -2030,7 +2030,7 @@ DEFINE GCC_PP_FLAGS =3D -E -x = assembler-with-cpp -include A *_GCC48_IA32_DLINK2_FLAGS =3D DEF(GCC48_IA32_DLINK2_FLAGS) *_GCC48_IA32_RC_FLAGS =3D DEF(GCC_IA32_RC_FLAGS) *_GCC48_IA32_OBJCOPY_FLAGS =3D -*_GCC48_IA32_NASM_FLAGS =3D -f elf32 +*_GCC48_IA32_NASM_FLAGS =3D -f elf32 -DRODATA_SECTION_NAME=3D.ro= data =20 DEBUG_GCC48_IA32_CC_FLAGS =3D DEF(GCC48_IA32_CC_FLAGS) -Os RELEASE_GCC48_IA32_CC_FLAGS =3D DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-un= used-but-set-variable @@ -2058,7 +2058,7 @@ RELEASE_GCC48_IA32_CC_FLAGS =3D DEF(GCC48_IA32_= CC_FLAGS) -Os -Wno-unused-but *_GCC48_X64_DLINK2_FLAGS =3D DEF(GCC48_X64_DLINK2_FLAGS) *_GCC48_X64_RC_FLAGS =3D DEF(GCC_X64_RC_FLAGS) *_GCC48_X64_OBJCOPY_FLAGS =3D -*_GCC48_X64_NASM_FLAGS =3D -f elf64 +*_GCC48_X64_NASM_FLAGS =3D -f elf64 -DRODATA_SECTION_NAME=3D.rod= ata =20 DEBUG_GCC48_X64_CC_FLAGS =3D DEF(GCC48_X64_CC_FLAGS) -Os RELEASE_GCC48_X64_CC_FLAGS =3D DEF(GCC48_X64_CC_FLAGS) -Os -Wno-unus= ed-but-set-variable @@ -2170,7 +2170,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS =3D DEF(GCC48_AARCH6= 4_CC_FLAGS) -Wno-unused-but-s *_GCC49_IA32_DLINK2_FLAGS =3D DEF(GCC49_IA32_DLINK2_FLAGS) *_GCC49_IA32_RC_FLAGS =3D DEF(GCC_IA32_RC_FLAGS) *_GCC49_IA32_OBJCOPY_FLAGS =3D -*_GCC49_IA32_NASM_FLAGS =3D -f elf32 +*_GCC49_IA32_NASM_FLAGS =3D -f elf32 -DRODATA_SECTION_NAME=3D.ro= data =20 DEBUG_GCC49_IA32_CC_FLAGS =3D DEF(GCC49_IA32_CC_FLAGS) -Os RELEASE_GCC49_IA32_CC_FLAGS =3D DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-un= used-but-set-variable -Wno-unused-const-variable @@ -2198,7 +2198,7 @@ RELEASE_GCC49_IA32_CC_FLAGS =3D DEF(GCC49_IA32_= CC_FLAGS) -Os -Wno-unused-but *_GCC49_X64_DLINK2_FLAGS =3D DEF(GCC49_X64_DLINK2_FLAGS) *_GCC49_X64_RC_FLAGS =3D DEF(GCC_X64_RC_FLAGS) *_GCC49_X64_OBJCOPY_FLAGS =3D -*_GCC49_X64_NASM_FLAGS =3D -f elf64 +*_GCC49_X64_NASM_FLAGS =3D -f elf64 -DRODATA_SECTION_NAME=3D.rod= ata =20 DEBUG_GCC49_X64_CC_FLAGS =3D DEF(GCC49_X64_CC_FLAGS) -Os RELEASE_GCC49_X64_CC_FLAGS =3D DEF(GCC49_X64_CC_FLAGS) -Os -Wno-unus= ed-but-set-variable -Wno-unused-const-variable @@ -2316,7 +2316,7 @@ RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS =3D -z common-pa= ge-size=3D0x20 *_GCC5_IA32_DLINK2_FLAGS =3D DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie *_GCC5_IA32_RC_FLAGS =3D DEF(GCC_IA32_RC_FLAGS) *_GCC5_IA32_OBJCOPY_FLAGS =3D -*_GCC5_IA32_NASM_FLAGS =3D -f elf32 +*_GCC5_IA32_NASM_FLAGS =3D -f elf32 -DRODATA_SECTION_NAME=3D.rod= ata =20 DEBUG_GCC5_IA32_CC_FLAGS =3D DEF(GCC5_IA32_CC_FLAGS) -flto -Os DEBUG_GCC5_IA32_DLINK_FLAGS =3D DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto = -Os -Wl,-m,elf_i386,--oformat=3Delf32-i386 @@ -2348,7 +2348,7 @@ RELEASE_GCC5_IA32_DLINK_FLAGS =3D DEF(GCC5_IA32_X6= 4_DLINK_FLAGS) -flto -Os -Wl, *_GCC5_X64_DLINK2_FLAGS =3D DEF(GCC5_X64_DLINK2_FLAGS) *_GCC5_X64_RC_FLAGS =3D DEF(GCC_X64_RC_FLAGS) *_GCC5_X64_OBJCOPY_FLAGS =3D -*_GCC5_X64_NASM_FLAGS =3D -f elf64 +*_GCC5_X64_NASM_FLAGS =3D -f elf64 -DRODATA_SECTION_NAME=3D.rod= ata =20 DEBUG_GCC5_X64_CC_FLAGS =3D DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_= LTO -Os DEBUG_GCC5_X64_DLINK_FLAGS =3D DEF(GCC5_X64_DLINK_FLAGS) -flto -Os @@ -2589,7 +2589,7 @@ DEFINE CLANG38_ALL_CC_FLAGS =3D DEF(GCC48_ALL= _CC_FLAGS) DEF(CLANG38_WARNIN *_CLANG38_IA32_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m32 -march=3D= i386 DEF(CLANG38_IA32_TARGET) *_CLANG38_IA32_RC_FLAGS =3D DEF(GCC_IA32_RC_FLAGS) *_CLANG38_IA32_OBJCOPY_FLAGS =3D -*_CLANG38_IA32_NASM_FLAGS =3D -f elf32 +*_CLANG38_IA32_NASM_FLAGS =3D -f elf32 -DRODATA_SECTION_NAME=3D.= rodata *_CLANG38_IA32_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANG38_IA32= _TARGET) *_CLANG38_IA32_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_I= A32_TARGET) *_CLANG38_IA32_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_I= A32_TARGET) @@ -2626,7 +2626,7 @@ NOOPT_CLANG38_IA32_DLINK2_FLAGS =3D DEF(GCC5_IA32= _DLINK2_FLAGS) -O0 *_CLANG38_X64_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m64 DEF(CLANG3= 8_X64_TARGET) *_CLANG38_X64_RC_FLAGS =3D DEF(GCC_X64_RC_FLAGS) *_CLANG38_X64_OBJCOPY_FLAGS =3D -*_CLANG38_X64_NASM_FLAGS =3D -f elf64 +*_CLANG38_X64_NASM_FLAGS =3D -f elf64 -DRODATA_SECTION_NAME=3D.r= odata *_CLANG38_X64_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANG38_X64_T= ARGET) *_CLANG38_X64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG38_X6= 4_TARGET) *_CLANG38_X64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG38_X6= 4_TARGET) @@ -2777,7 +2777,7 @@ DEFINE CLANGPDB_ALL_CC_FLAGS =3D DEF(GCC48_AL= L_CC_FLAGS) DEF(CLANGPDB_WARN *_CLANGPDB_IA32_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m32 -fno-lt= o DEF(CLANGPDB_IA32_TARGET) *_CLANGPDB_IA32_ASM_FLAGS =3D DEF(GCC_ASM_FLAGS) -m32 -march=3D= i386 DEF(CLANGPDB_IA32_TARGET) *_CLANGPDB_IA32_OBJCOPY_FLAGS =3D -*_CLANGPDB_IA32_NASM_FLAGS =3D -f win32 +*_CLANGPDB_IA32_NASM_FLAGS =3D -f win32 -DRODATA_SECTION_NAME=3D= .rdata *_CLANGPDB_IA32_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANGPDB_IA= 32_TARGET) *_CLANGPDB_IA32_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANGPDB= _IA32_TARGET) *_CLANGPDB_IA32_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANGPDB= _IA32_TARGET) @@ -2811,7 +2811,7 @@ NOOPT_CLANGPDB_IA32_DLINK2_FLAGS =3D *_CLANGPDB_X64_ASLCC_FLAGS =3D DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto= DEF(CLANGPDB_X64_TARGET) *_CLANGPDB_X64_ASM_FLAGS =3D DEF(GCC_ASM_FLAGS) -m64 DEF(CLANGP= DB_X64_TARGET) *_CLANGPDB_X64_OBJCOPY_FLAGS =3D -*_CLANGPDB_X64_NASM_FLAGS =3D -f win64 +*_CLANGPDB_X64_NASM_FLAGS =3D -f win64 -DRODATA_SECTION_NAME=3D.= rdata *_CLANGPDB_X64_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANGPDB_X64= _TARGET) *_CLANGPDB_X64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANGPDB_= X64_TARGET) *_CLANGPDB_X64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANGPDB_= X64_TARGET) @@ -2878,7 +2878,7 @@ DEFINE CLANGDWARF_X64_DLINK2_FLAGS =3D -Wl,--d= efsym=3DPECOFF_HEADER_SIZE=3D0x22 *_CLANGDWARF_IA32_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m32 -march= =3Di386 DEF(CLANG38_IA32_TARGET) *_CLANGDWARF_IA32_RC_FLAGS =3D DEF(GCC_IA32_RC_FLAGS) *_CLANGDWARF_IA32_OBJCOPY_FLAGS =3D -*_CLANGDWARF_IA32_NASM_FLAGS =3D -f elf32 +*_CLANGDWARF_IA32_NASM_FLAGS =3D -f elf32 -DRODATA_SECTION_NAME= =3D.rodata *_CLANGDWARF_IA32_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANG38_I= A32_TARGET) *_CLANGDWARF_IA32_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG3= 8_IA32_TARGET) *_CLANGDWARF_IA32_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG3= 8_IA32_TARGET) @@ -2914,7 +2914,7 @@ NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS =3D DEF(CLANGD= WARF_IA32_DLINK2_FLAGS) -O0 - *_CLANGDWARF_X64_ASM_FLAGS =3D DEF(GCC5_ASM_FLAGS) -m64 DEF(CLA= NG38_X64_TARGET) *_CLANGDWARF_X64_RC_FLAGS =3D DEF(GCC_X64_RC_FLAGS) *_CLANGDWARF_X64_OBJCOPY_FLAGS =3D -*_CLANGDWARF_X64_NASM_FLAGS =3D -f elf64 +*_CLANGDWARF_X64_NASM_FLAGS =3D -f elf64 -DRODATA_SECTION_NAME= =3D.rodata *_CLANGDWARF_X64_PP_FLAGS =3D DEF(GCC_PP_FLAGS) DEF(CLANG38_X6= 4_TARGET) *_CLANGDWARF_X64_ASLPP_FLAGS =3D DEF(GCC_ASLPP_FLAGS) DEF(CLANG38= _X64_TARGET) *_CLANGDWARF_X64_VFRPP_FLAGS =3D DEF(GCC_VFRPP_FLAGS) DEF(CLANG38= _X64_TARGET) @@ -2985,7 +2985,7 @@ RELEASE_XCODE5_IA32_DLINK_FLAGS =3D -arch i386 -= u _$(IMAGE_ENTRY_POINT) -e _$ DEBUG_XCODE5_IA32_ASM_FLAGS =3D -arch i386 -g NOOPT_XCODE5_IA32_ASM_FLAGS =3D -arch i386 -g RELEASE_XCODE5_IA32_ASM_FLAGS =3D -arch i386 - *_XCODE5_IA32_NASM_FLAGS =3D -f macho32 + *_XCODE5_IA32_NASM_FLAGS =3D -f macho32 -DRODATA_SECTION_NAME=3D.rod= ata =20 =20 DEBUG_XCODE5_IA32_CC_FLAGS =3D -arch i386 -c -g -Os -Wall -Werro= r -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fsh= ort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields = -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-i= nitializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap= -function=3Dundefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_= FLAGS) @@ -3003,7 +3003,7 @@ RELEASE_XCODE5_X64_DLINK_FLAGS =3D -arch x86_64 = -u _$(IMAGE_ENTRY_POINT) -e _ DEBUG_XCODE5_X64_ASM_FLAGS =3D -arch x86_64 -g NOOPT_XCODE5_X64_ASM_FLAGS =3D -arch x86_64 -g RELEASE_XCODE5_X64_ASM_FLAGS =3D -arch x86_64 - *_XCODE5_X64_NASM_FLAGS =3D -f macho64 + *_XCODE5_X64_NASM_FLAGS =3D -f macho64 -DRODATA_SECTION_NAME=3D.roda= ta *_XCODE5_*_PP_FLAGS =3D -E -x assembler-with-cpp -include AutoGen.h *_XCODE5_*_VFRPP_FLAGS =3D -x c -E -P -DVFRCOMPILE -include $(MODULE_= NAME)StrDefs.h =20 --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78939): https://edk2.groups.io/g/devel/message/78939 Mute This Topic: https://groups.io/mt/84764902/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 5 16:08:01 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+78949+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78949+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=posteo.de ARC-Seal: i=1; a=rsa-sha256; t=1628502724; cv=none; d=zohomail.com; s=zohoarc; b=fkuXNMDwLJ1PJHlWp0gOaj/rVMtGr19ezzJfYG9a4IgAYB4z4UYRPMIEq4//Ff+cLBiChbA19gtuIOuFRykFsG9Zc7NI+ogIiheVDvoCN3KMjV+CYgx7BrScOl82E2d+2jgtWzQ6BaqMf/X4KlGbATWRT0qvfkpdYseS1IAik2c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1628502724; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=WIKsPSbOIaeZbAElFisUb6rpofpRHwIM7EpksVlM/+I=; b=I9UpJdGDY3nr3f5hc/NICC33cboFB0mGk7nPUAxUg21xHfSVZxe91X6CpwfILGn3mYGAE8WTSf6N29Z9buVeXf2TuLbpxSsKeUoHL+YKAWnENkrd4GiwhbTRm5v44Raw1+SNj88XnUq6k0Bm8r/tn6Wz48t12di0CZW2unFlpKk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78949+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1628502724810389.20533194030736; Mon, 9 Aug 2021 02:52:04 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id GXcfYY1788612xkoQ8E7JumH; Mon, 09 Aug 2021 02:52:04 -0700 X-Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65]) by mx.groups.io with SMTP id smtpd.web10.20765.1628502718075804511 for ; Mon, 09 Aug 2021 02:51:58 -0700 X-Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 8AF0024002A for ; Mon, 9 Aug 2021 11:51:50 +0200 (CEST) X-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Gjrvn6MlCz6tmG; Mon, 9 Aug 2021 11:51:49 +0200 (CEST) From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: devel@edk2.groups.io Cc: Jian J Wang , Hao A Wu , Dandan Bi , Liming Gao , Vitaly Cheptsov Subject: [edk2-devel] [PATCH v2 1/7] MdeModulePkg/DxeCore: Consistent DebugImageInfoTable updates Date: Mon, 9 Aug 2021 09:51:21 +0000 Message-Id: <88816e99692b15cf61f3057ffab4d54455159c7c.1628502345.git.mhaeuser@posteo.de> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mhaeuser@posteo.de X-Gm-Message-State: aKpdPNTelKNsVbLBa2SmArAix1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1628502724; bh=rLBFpKRid8PQsPXzUfNRsGGVQ3vkiZOI83og8JvsNbE=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=R4WqjmkYwNkKqeZj1t3ks8RdhJchFYBK15JU6EqKth57PRvAIrPUKsLGcPi6cJLb2cU bqG4KW7Sm8aayoU+FDMK4x67EQoKL/IThxIEtgOJHyKnPDiHYsjn9G/wuIb9XMPmd7p6Y gpw62tw5dFG93nYpcpwJUlfSTXTPlFCMfRA= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1628502726973100055 Content-Type: text/plain; charset="utf-8" In theory, modifications to the DebugImageInfoTable may cause exceptions. If the exception handler parses the table, this can lead to subsequent exceptions if the table state is inconsistent. Ensure the DebugImageInfoTable remains consistent during modifications. This includes: 1) Free the old table only only after the new table has been published. Mitigates use-after-free of the old table. 2) Do not insert an image entry till it is fully initialised. Entries may be inserted in the live range if an entry was deleted previously. Mitigaes the usage of inconsistent entries. 3) Free the old image entry only after the table has been updated with the NULL value. Mitigates use-after-free of the old entry. 4) Set the MODIFIED state before performing any modifications. Cc: Jian J Wang Cc: Hao A Wu Cc: Dandan Bi Cc: Liming Gao Cc: Vitaly Cheptsov Signed-off-by: Marvin H=C3=A4user --- MdeModulePkg/Core/Dxe/Misc/DebugImageInfo.c | 60 +++++++++++--------- 1 file changed, 34 insertions(+), 26 deletions(-) diff --git a/MdeModulePkg/Core/Dxe/Misc/DebugImageInfo.c b/MdeModulePkg/Cor= e/Dxe/Misc/DebugImageInfo.c index a75d4158280b..7bd970115111 100644 --- a/MdeModulePkg/Core/Dxe/Misc/DebugImageInfo.c +++ b/MdeModulePkg/Core/Dxe/Misc/DebugImageInfo.c @@ -165,10 +165,11 @@ CoreNewDebugImageInfoEntry ( IN EFI_HANDLE ImageHandle ) { - EFI_DEBUG_IMAGE_INFO *Table; - EFI_DEBUG_IMAGE_INFO *NewTable; - UINTN Index; - UINTN TableSize; + EFI_DEBUG_IMAGE_INFO *Table; + EFI_DEBUG_IMAGE_INFO *NewTable; + UINTN Index; + UINTN TableSize; + EFI_DEBUG_IMAGE_INFO_NORMAL *NormalImage; =20 // // Set the flag indicating that we're in the process of updating the tab= le. @@ -203,14 +204,6 @@ CoreNewDebugImageInfoEntry ( // Copy the old table into the new one // CopyMem (NewTable, Table, TableSize); - // - // Free the old table - // - CoreFreePool (Table); - // - // Update the table header - // - Table =3D NewTable; mDebugInfoTableHeader.EfiDebugImageInfoTable =3D NewTable; // // Enlarge the max table entries and set the first empty entry index to @@ -218,24 +211,34 @@ CoreNewDebugImageInfoEntry ( // Index =3D mMaxTableEntries; mMaxTableEntries +=3D EFI_PAGE_SIZE / EFI_DEBUG_TABLE_ENTRY_SIZE; + // + // Free the old table + // + CoreFreePool (Table); + // + // Update the table header + // + Table =3D NewTable; } =20 // // Allocate data for new entry // - Table[Index].NormalImage =3D AllocateZeroPool (sizeof (EFI_DEBUG_IMAGE_I= NFO_NORMAL)); - if (Table[Index].NormalImage !=3D NULL) { + NormalImage =3D AllocateZeroPool (sizeof (EFI_DEBUG_IMAGE_INFO_NORMAL)); + if (NormalImage !=3D NULL) { // // Update the entry // - Table[Index].NormalImage->ImageInfoType =3D (UINT32) Ima= geInfoType; - Table[Index].NormalImage->LoadedImageProtocolInstance =3D LoadedImage; - Table[Index].NormalImage->ImageHandle =3D ImageHandle; + NormalImage->ImageInfoType =3D (UINT32) ImageInfoType; + NormalImage->LoadedImageProtocolInstance =3D LoadedImage; + NormalImage->ImageHandle =3D ImageHandle; // - // Increase the number of EFI_DEBUG_IMAGE_INFO elements and set the mD= ebugInfoTable in modified status. + // Set the mDebugInfoTable in modified status, insert the entry, and + // increase the number of EFI_DEBUG_IMAGE_INFO elements. // - mDebugInfoTableHeader.TableSize++; mDebugInfoTableHeader.UpdateStatus |=3D EFI_DEBUG_IMAGE_INFO_TABLE_MOD= IFIED; + Table[Index].NormalImage =3D NormalImage; + mDebugInfoTableHeader.TableSize++; } mDebugInfoTableHeader.UpdateStatus &=3D ~EFI_DEBUG_IMAGE_INFO_UPDATE_IN_= PROGRESS; } @@ -253,8 +256,9 @@ CoreRemoveDebugImageInfoEntry ( EFI_HANDLE ImageHandle ) { - EFI_DEBUG_IMAGE_INFO *Table; - UINTN Index; + EFI_DEBUG_IMAGE_INFO *Table; + UINTN Index; + EFI_DEBUG_IMAGE_INFO_NORMAL *NormalImage; =20 mDebugInfoTableHeader.UpdateStatus |=3D EFI_DEBUG_IMAGE_INFO_UPDATE_IN_P= ROGRESS; =20 @@ -263,16 +267,20 @@ CoreRemoveDebugImageInfoEntry ( for (Index =3D 0; Index < mMaxTableEntries; Index++) { if (Table[Index].NormalImage !=3D NULL && Table[Index].NormalImage->Im= ageHandle =3D=3D ImageHandle) { // - // Found a match. Free up the record, then NULL the pointer to indic= ate the slot - // is free. + // Found a match. Set the mDebugInfoTable in modified status and NUL= L the + // pointer to indicate the slot is free and. // - CoreFreePool (Table[Index].NormalImage); + NormalImage =3D Table[Index].NormalImage; + mDebugInfoTableHeader.UpdateStatus |=3D EFI_DEBUG_IMAGE_INFO_TABLE_M= ODIFIED; Table[Index].NormalImage =3D NULL; // - // Decrease the number of EFI_DEBUG_IMAGE_INFO elements and set the = mDebugInfoTable in modified status. + // Decrease the number of EFI_DEBUG_IMAGE_INFO elements. // mDebugInfoTableHeader.TableSize--; - mDebugInfoTableHeader.UpdateStatus |=3D EFI_DEBUG_IMAGE_INFO_TABLE_M= ODIFIED; + // + // Free up the record. + // + CoreFreePool (NormalImage); break; } } --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78949): https://edk2.groups.io/g/devel/message/78949 Mute This Topic: https://groups.io/mt/84764914/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 5 16:08:01 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+78937+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78937+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=posteo.de ARC-Seal: i=1; a=rsa-sha256; t=1628502714; cv=none; d=zohomail.com; s=zohoarc; b=JZYDu9A1aIvsju4nKkFDmrnmhK5UoFT50D/PitpQSJafC4pHbciBW4cxPnEniWwtzNahbzKbCLvQQEq2LjGlRc6eXe/JBxq8EuO3CdkBoJx9uBeUfD6pGhj0zaY1dWqfRLqpJ8cc1x5S+eWsHQ3/KWs7SFB02ufAs2ZXb7kCwVE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1628502714; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=vlvfnjBlM0fo/RVG6YyT4XYx3xG7Q9tQIoZHOnySlcs=; b=MZLhiAnnKrk6wsaCv2iMlrlrkus3+BlV4VbGwmdT0kcFMZZB2V3nKgH/cAjZoJ4Fg951yU75uJQbf5Gwi8khN9pqDyYb2EzrQp4F93gArqYjnFZfDZXMB23gepzUwv9Y6gNkuLtymh1ZymxM8Lezc7IFLjm9nGCWcSEh3NWTrFw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78937+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1628502714264111.73594656864873; Mon, 9 Aug 2021 02:51:54 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id MRDIYY1788612x0Yln9DJRc2; Mon, 09 Aug 2021 02:51:54 -0700 X-Received: from mout02.posteo.de (mout02.posteo.de [185.67.36.66]) by mx.groups.io with SMTP id smtpd.web12.20842.1628502712467396169 for ; Mon, 09 Aug 2021 02:51:53 -0700 X-Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id CDDFC240109 for ; Mon, 9 Aug 2021 11:51:50 +0200 (CEST) X-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Gjrvp2Pbbz6tmF; Mon, 9 Aug 2021 11:51:50 +0200 (CEST) From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Vitaly Cheptsov Subject: [edk2-devel] [PATCH v2 1/2] MdePkg/BaseLib: Fix unaligned API prototypes Date: Mon, 9 Aug 2021 09:51:22 +0000 Message-Id: In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mhaeuser@posteo.de X-Gm-Message-State: gkirLdvVoUMtuF830NiU4BKXx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1628502714; bh=KmPoLlpap5nkBLrA94c/mTLRy6irg8Xy7LqwJ8Ni/hI=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=U7wMgJ4oXfR5wP7gZR9P5S3wvnPzCC+g2TkWleIGYS3gaeoXqkwWpyti/SjoYqA9oYA n5UQ4LqBZizMqnexZS9ntatxsK1uh7CTRd5EW7f9uJmpvRZDbDOpvCGGcynJg9JseVWzJ etW84p6zjgliqZQJlinF0CJRkw0BV7SI09Y= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1628502716451100006 Content-Type: text/plain; charset="utf-8" C prohibits not only dereferencing but also casting to unaligned pointers. Thus, the current set of unaligned APIs cannot be called safely. Update their prototypes to take VOID * pointers, which must be able to represent any valid pointer. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Vitaly Cheptsov Signed-off-by: Marvin H=C3=A4user --- MdePkg/Library/BaseLib/Arm/Unaligned.c | 14 ++++----- MdePkg/Library/BaseLib/Unaligned.c | 32 ++++++++++---------- MdePkg/Include/Library/BaseLib.h | 16 +++++----- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/MdePkg/Library/BaseLib/Arm/Unaligned.c b/MdePkg/Library/BaseLi= b/Arm/Unaligned.c index e9934e7003cb..57f19fc44e0b 100644 --- a/MdePkg/Library/BaseLib/Arm/Unaligned.c +++ b/MdePkg/Library/BaseLib/Arm/Unaligned.c @@ -59,7 +59,7 @@ ReadUnaligned16 ( UINT16 EFIAPI WriteUnaligned16 ( - OUT UINT16 *Buffer, + OUT VOID *Buffer, IN UINT16 Value ) { @@ -87,7 +87,7 @@ WriteUnaligned16 ( UINT32 EFIAPI ReadUnaligned24 ( - IN CONST UINT32 *Buffer + IN CONST VOID *Buffer ) { ASSERT (Buffer !=3D NULL); @@ -116,7 +116,7 @@ ReadUnaligned24 ( UINT32 EFIAPI WriteUnaligned24 ( - OUT UINT32 *Buffer, + OUT VOID *Buffer, IN UINT32 Value ) { @@ -143,7 +143,7 @@ WriteUnaligned24 ( UINT32 EFIAPI ReadUnaligned32 ( - IN CONST UINT32 *Buffer + IN CONST VOID *Buffer ) { UINT16 LowerBytes; @@ -175,7 +175,7 @@ ReadUnaligned32 ( UINT32 EFIAPI WriteUnaligned32 ( - OUT UINT32 *Buffer, + OUT VOID *Buffer, IN UINT32 Value ) { @@ -202,7 +202,7 @@ WriteUnaligned32 ( UINT64 EFIAPI ReadUnaligned64 ( - IN CONST UINT64 *Buffer + IN CONST VOID *Buffer ) { UINT32 LowerBytes; @@ -234,7 +234,7 @@ ReadUnaligned64 ( UINT64 EFIAPI WriteUnaligned64 ( - OUT UINT64 *Buffer, + OUT VOID *Buffer, IN UINT64 Value ) { diff --git a/MdePkg/Library/BaseLib/Unaligned.c b/MdePkg/Library/BaseLib/Un= aligned.c index a419cb85e53c..3041adcde606 100644 --- a/MdePkg/Library/BaseLib/Unaligned.c +++ b/MdePkg/Library/BaseLib/Unaligned.c @@ -26,12 +26,12 @@ UINT16 EFIAPI ReadUnaligned16 ( - IN CONST UINT16 *Buffer + IN CONST VOID *Buffer ) { ASSERT (Buffer !=3D NULL); =20 - return *Buffer; + return *(CONST UINT16 *) Buffer; } =20 /** @@ -52,13 +52,13 @@ ReadUnaligned16 ( UINT16 EFIAPI WriteUnaligned16 ( - OUT UINT16 *Buffer, + OUT VOID *Buffer, IN UINT16 Value ) { ASSERT (Buffer !=3D NULL); =20 - return *Buffer =3D Value; + return *(UINT16 *) Buffer =3D Value; } =20 /** @@ -77,12 +77,12 @@ WriteUnaligned16 ( UINT32 EFIAPI ReadUnaligned24 ( - IN CONST UINT32 *Buffer + IN CONST VOID *Buffer ) { ASSERT (Buffer !=3D NULL); =20 - return *Buffer & 0xffffff; + return *(CONST UINT32 *) Buffer & 0xffffff; } =20 /** @@ -103,13 +103,13 @@ ReadUnaligned24 ( UINT32 EFIAPI WriteUnaligned24 ( - OUT UINT32 *Buffer, + OUT VOID *Buffer, IN UINT32 Value ) { ASSERT (Buffer !=3D NULL); =20 - *Buffer =3D BitFieldWrite32 (*Buffer, 0, 23, Value); + *(UINT32 *) Buffer =3D BitFieldWrite32 (*(CONST UINT32 *) Buffer, 0, 23,= Value); return Value; } =20 @@ -129,12 +129,12 @@ WriteUnaligned24 ( UINT32 EFIAPI ReadUnaligned32 ( - IN CONST UINT32 *Buffer + IN CONST VOID *Buffer ) { ASSERT (Buffer !=3D NULL); =20 - return *Buffer; + return *(CONST UINT32 *) Buffer; } =20 /** @@ -155,13 +155,13 @@ ReadUnaligned32 ( UINT32 EFIAPI WriteUnaligned32 ( - OUT UINT32 *Buffer, + OUT VOID *Buffer, IN UINT32 Value ) { ASSERT (Buffer !=3D NULL); =20 - return *Buffer =3D Value; + return *(UINT32 *) Buffer =3D Value; } =20 /** @@ -180,12 +180,12 @@ WriteUnaligned32 ( UINT64 EFIAPI ReadUnaligned64 ( - IN CONST UINT64 *Buffer + IN CONST VOID *Buffer ) { ASSERT (Buffer !=3D NULL); =20 - return *Buffer; + return *(CONST UINT64 *) Buffer; } =20 /** @@ -206,11 +206,11 @@ ReadUnaligned64 ( UINT64 EFIAPI WriteUnaligned64 ( - OUT UINT64 *Buffer, + OUT VOID *Buffer, IN UINT64 Value ) { ASSERT (Buffer !=3D NULL); =20 - return *Buffer =3D Value; + return *(UINT64 *) Buffer =3D Value; } diff --git a/MdePkg/Include/Library/BaseLib.h b/MdePkg/Include/Library/Base= Lib.h index 2452c1d92e51..4d30f0539c6b 100644 --- a/MdePkg/Include/Library/BaseLib.h +++ b/MdePkg/Include/Library/BaseLib.h @@ -3420,7 +3420,7 @@ DivS64x64Remainder ( UINT16 EFIAPI ReadUnaligned16 ( - IN CONST UINT16 *Buffer + IN CONST VOID *Buffer ); =20 =20 @@ -3442,7 +3442,7 @@ ReadUnaligned16 ( UINT16 EFIAPI WriteUnaligned16 ( - OUT UINT16 *Buffer, + OUT VOID *Buffer, IN UINT16 Value ); =20 @@ -3463,7 +3463,7 @@ WriteUnaligned16 ( UINT32 EFIAPI ReadUnaligned24 ( - IN CONST UINT32 *Buffer + IN CONST VOID *Buffer ); =20 =20 @@ -3485,7 +3485,7 @@ ReadUnaligned24 ( UINT32 EFIAPI WriteUnaligned24 ( - OUT UINT32 *Buffer, + OUT VOID *Buffer, IN UINT32 Value ); =20 @@ -3506,7 +3506,7 @@ WriteUnaligned24 ( UINT32 EFIAPI ReadUnaligned32 ( - IN CONST UINT32 *Buffer + IN CONST VOID *Buffer ); =20 =20 @@ -3528,7 +3528,7 @@ ReadUnaligned32 ( UINT32 EFIAPI WriteUnaligned32 ( - OUT UINT32 *Buffer, + OUT VOID *Buffer, IN UINT32 Value ); =20 @@ -3549,7 +3549,7 @@ WriteUnaligned32 ( UINT64 EFIAPI ReadUnaligned64 ( - IN CONST UINT64 *Buffer + IN CONST VOID *Buffer ); =20 =20 @@ -3571,7 +3571,7 @@ ReadUnaligned64 ( UINT64 EFIAPI WriteUnaligned64 ( - OUT UINT64 *Buffer, + OUT VOID *Buffer, IN UINT64 Value ); =20 --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78937): https://edk2.groups.io/g/devel/message/78937 Mute This Topic: https://groups.io/mt/84764900/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 5 16:08:01 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+78940+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78940+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=posteo.de ARC-Seal: i=1; a=rsa-sha256; t=1628502715; cv=none; d=zohomail.com; s=zohoarc; b=SC6znUsWbvxNrYHW/k5Q2Skw6cvktOfbCX4BQBAGFNZ6zoEWXPYJiF5+RMAqKMLVOURdocKBozYq1tiHlG2TQQS0W1lryjKJ9Q+iKU6ocwhrQtmRhPzXY15XPm7YQH1ZW2tk43uUf4wK1EgkC6v8E8NdPxuXI4AuHWthFympxJM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1628502715; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=bO9kzC+4+mG92tOiJTjnKDnv2CAqVFJig1r4bUxPOM8=; b=n8hjBxbY3p8OMcjkQurycQwHHHL3wtiV0JgsneCBp3vj79qHBjgOp4JlPpNmGIxxhv0f4cA9rWId4jVo5j6FCKeXOfchf4l52yTqdxEGWMhqqRHcieTayaqH+6KZgJwO5cX0R8tGSJ6Y14eyyG5M1U8hn+vWjF34RBRR8Pd1kzU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78940+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1628502715589426.04720346965416; Mon, 9 Aug 2021 02:51:55 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Iag5YY1788612xFtgVX1WNWt; Mon, 09 Aug 2021 02:51:55 -0700 X-Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65]) by mx.groups.io with SMTP id smtpd.web11.20804.1628502713261556675 for ; Mon, 09 Aug 2021 02:51:54 -0700 X-Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 19F6D24002C for ; Mon, 9 Aug 2021 11:51:51 +0200 (CEST) X-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Gjrvp4k68z6tmK; Mon, 9 Aug 2021 11:51:50 +0200 (CEST) From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: devel@edk2.groups.io Cc: Jiewen Yao , Jian J Wang , Min Xu , Vitaly Cheptsov Subject: [edk2-devel] [PATCH v2 1/2] SecurityPkg/DxeImageVerificationLib: Fix certificate lookup algorithm Date: Mon, 9 Aug 2021 09:51:23 +0000 Message-Id: In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mhaeuser@posteo.de X-Gm-Message-State: UxsNTKgixIOzmDEVXsX8sQswx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1628502715; bh=xxWQmHAIee1bC8GK6yso53PaeUuZ68ma1DaGxkl9VJg=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=nQ8upkCoZpYy0LX+HxlvOySly4gjN+SUMdNVeJrT4MBr6fH29XJiVNSIM33prsdV7Jv /0iHGmMF/8cloMDlfajEc+AlY5vo9OA8n3SmsPjDuiF2STdMwa5pBRBr6XWtBzvthgH8A Smc5Tz5xusZgQy1+xDTbcwB8z3tkaXORP/g= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1628503617920100001 Content-Type: text/plain; charset="utf-8" The current certificate lookup code does not check the bounds of the authentication data before accessing it. Abort if the header cannot fit. Also, the lookup code aborts once the authetication data is smaller than an algorithm's OID size. As OIDs are variably-sized, this may cause unexpected authentication failure due to the early error-exit. Additionally move the two-byte encoding check out of the loop as the data is invariant. Cc: Jiewen Yao Cc: Jian J Wang Cc: Min Xu Cc: Vitaly Cheptsov Signed-off-by: Marvin H=C3=A4user Reviewed-by: Min Xu --- SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c | 43= +++++++++++--------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificati= onLib.c b/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationL= ib.c index c48861cd6496..6615099baafb 100644 --- a/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c +++ b/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c @@ -624,30 +624,33 @@ HashPeImageByType ( { UINT8 Index; =20 + if (AuthDataSize < 32) { + return EFI_UNSUPPORTED; + } + // + // Check the Hash algorithm in PE/COFF Authenticode. + // According to PKCS#7 Definition: + // SignedData ::=3D SEQUENCE { + // version Version, + // digestAlgorithms DigestAlgorithmIdentifiers, + // contentInfo ContentInfo, + // .... } + // The DigestAlgorithmIdentifiers can be used to determine the hash a= lgorithm in PE/COFF hashing + // This field has the fixed offset (+32) in final Authenticode ASN.1 = data. + // Fixed offset (+32) is calculated based on two bytes of length enco= ding. + // + if ((*(AuthData + 1) & TWO_BYTE_ENCODE) !=3D TWO_BYTE_ENCODE) { + // + // Only support two bytes of Long Form of Length Encoding. + // + return EFI_UNSUPPORTED; + } + for (Index =3D 0; Index < HASHALG_MAX; Index++) { - // - // Check the Hash algorithm in PE/COFF Authenticode. - // According to PKCS#7 Definition: - // SignedData ::=3D SEQUENCE { - // version Version, - // digestAlgorithms DigestAlgorithmIdentifiers, - // contentInfo ContentInfo, - // .... } - // The DigestAlgorithmIdentifiers can be used to determine the hash= algorithm in PE/COFF hashing - // This field has the fixed offset (+32) in final Authenticode ASN.= 1 data. - // Fixed offset (+32) is calculated based on two bytes of length en= coding. - // - if ((*(AuthData + 1) & TWO_BYTE_ENCODE) !=3D TWO_BYTE_ENCODE) { - // - // Only support two bytes of Long Form of Length Encoding. - // + if (AuthDataSize - 32 < mHash[Index].OidLength) { continue; } =20 - if (AuthDataSize < 32 + mHash[Index].OidLength) { - return EFI_UNSUPPORTED; - } - if (CompareMem (AuthData + 32, mHash[Index].OidValue, mHash[Index].Oid= Length) =3D=3D 0) { break; } --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78940): https://edk2.groups.io/g/devel/message/78940 Mute This Topic: https://groups.io/mt/84764903/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 5 16:08:01 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+78938+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78938+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=posteo.de ARC-Seal: i=1; a=rsa-sha256; t=1628502717; cv=none; d=zohomail.com; s=zohoarc; b=Kr6z7mY0QyWgnJgUXacerJsl9lbP86CKUQjZf8tD+I8VBqV1rsQ96IiQ5fuGtnxqSSAlxGPLYt6AbW2B27jul6ipDQ4qRX0ap4EeMXsEbBj93QrQFJZ/RphcrCuNRRi6ilT4LoKkP1drfBgF5hv/Wfz1zmF2DaCALfzqIj8/lpI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1628502717; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=pNuknaz4Y+a/uBEdyIvQ+9ReMrbpLtKH5ZWFPxe2dL0=; b=Wscx4MxdBKEb1SfCIvY1LjdNrMKOCTf4lrmKZeN2mQkObtQIJlM1UUyJ9l/cufXG6WR0KDga/SqHaltjG1ikKZtmktoy17n6wt8in3+Cu+xFj8NTGmBNwCu1hSoKbaXnfARwoz7d/RZGER6zJVX1nEhj7pVBObGiLaZDV/49rOc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78938+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1628502717100933.8071096224229; Mon, 9 Aug 2021 02:51:57 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id xUzbYY1788612xHtxvV164un; Mon, 09 Aug 2021 02:51:56 -0700 X-Received: from mout02.posteo.de (mout02.posteo.de [185.67.36.66]) by mx.groups.io with SMTP id smtpd.web10.20760.1628502713758238150 for ; Mon, 09 Aug 2021 02:51:54 -0700 X-Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 0DBAF240101 for ; Mon, 9 Aug 2021 11:51:52 +0200 (CEST) X-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Gjrvq3dM9z6tmF; Mon, 9 Aug 2021 11:51:51 +0200 (CEST) From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: devel@edk2.groups.io Cc: Jian J Wang , Hao A Wu , Dandan Bi , Liming Gao , Vitaly Cheptsov Subject: [edk2-devel] [PATCH v2 2/7] MdeModulePkg/DxeCore: Fix DebugImageInfoTable size report Date: Mon, 9 Aug 2021 09:51:25 +0000 Message-Id: <5159497b61000dee562cd18b7e6cbc519f00fe8b.1628502345.git.mhaeuser@posteo.de> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mhaeuser@posteo.de X-Gm-Message-State: QM2DqxqmpQMJb0e3e2rzxfFbx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1628502716; bh=VK4vDIo42INKuilJ05LuCsCJWhzbrXJzaqtoACu3tp4=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=s3MoTRhbjCwC1SRQYq+iHcVQkiqDM43jBf7x9ZLrrl88TqYYXId2bgug9nXkKyC9Wq1 CwaqZQ8YFdsbAxIbibCpJAFfWtteXxYJ6044jqvBIIlYcRSzGks7pgFVNN948uYCsWZH2 tqBF1jOvycA9+4Ehj7ypDJQ6HRaf0J6DDIA= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1628502718613100024 Content-Type: text/plain; charset="utf-8" Separate tracking the used entries from the table's self-reported size. Removing an entry from the table does not necessarily reduce the size of the table as defragmentation is not performed. Cc: Jian J Wang Cc: Hao A Wu Cc: Dandan Bi Cc: Liming Gao Cc: Vitaly Cheptsov Signed-off-by: Marvin H=C3=A4user --- MdeModulePkg/Core/Dxe/Misc/DebugImageInfo.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/MdeModulePkg/Core/Dxe/Misc/DebugImageInfo.c b/MdeModulePkg/Cor= e/Dxe/Misc/DebugImageInfo.c index 7bd970115111..cc22e23eb0b3 100644 --- a/MdeModulePkg/Core/Dxe/Misc/DebugImageInfo.c +++ b/MdeModulePkg/Core/Dxe/Misc/DebugImageInfo.c @@ -18,6 +18,8 @@ EFI_DEBUG_IMAGE_INFO_TABLE_HEADER mDebugInfoTableHeader = =3D { =20 UINTN mMaxTableEntries =3D 0; =20 +UINTN mUsedTableEntries =3D 0; + EFI_SYSTEM_TABLE_POINTER *mDebugTable =3D NULL; =20 #define EFI_DEBUG_TABLE_ENTRY_SIZE (sizeof (VOID *)) @@ -178,7 +180,7 @@ CoreNewDebugImageInfoEntry ( =20 Table =3D mDebugInfoTableHeader.EfiDebugImageInfoTable; =20 - if (mDebugInfoTableHeader.TableSize < mMaxTableEntries) { + if (mUsedTableEntries < mMaxTableEntries) { // // We still have empty entires in the Table, find the first empty entr= y. // @@ -237,8 +239,17 @@ CoreNewDebugImageInfoEntry ( // increase the number of EFI_DEBUG_IMAGE_INFO elements. // mDebugInfoTableHeader.UpdateStatus |=3D EFI_DEBUG_IMAGE_INFO_TABLE_MOD= IFIED; + mUsedTableEntries++; Table[Index].NormalImage =3D NormalImage; - mDebugInfoTableHeader.TableSize++; + // + // Only increase the amount of elements in the table if the new entry = did + // not take the place of a previously removed entry. + // + if (Index =3D=3D mDebugInfoTableHeader.TableSize) { + mDebugInfoTableHeader.TableSize++; + } + + ASSERT (Index < mDebugInfoTableHeader.TableSize); } mDebugInfoTableHeader.UpdateStatus &=3D ~EFI_DEBUG_IMAGE_INFO_UPDATE_IN_= PROGRESS; } @@ -274,9 +285,10 @@ CoreRemoveDebugImageInfoEntry ( mDebugInfoTableHeader.UpdateStatus |=3D EFI_DEBUG_IMAGE_INFO_TABLE_M= ODIFIED; Table[Index].NormalImage =3D NULL; // - // Decrease the number of EFI_DEBUG_IMAGE_INFO elements. + // Do not reduce the amount of elements reported to be in the table = as + // this would only work for the last element without defragmentation. // - mDebugInfoTableHeader.TableSize--; + mUsedTableEntries--; // // Free up the record. // --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78938): https://edk2.groups.io/g/devel/message/78938 Mute This Topic: https://groups.io/mt/84764901/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 5 16:08:01 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+78945+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78945+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=posteo.de ARC-Seal: i=1; a=rsa-sha256; t=1628502720; cv=none; d=zohomail.com; s=zohoarc; b=AXFf4+FRY7id7Ac8eqGZAW8jW70sizhqrOsI9VGUjetbVVhF2DygToeRdLgiTZGOGBqHo0oaw4X+7yQTcF7bspZUYRHRbA+eL6Vw7AfWEYqr0DAWPxeBQ8P+VJPRTjdU6IZWKpjYnrced/dIdgIZH25Wjspk8x84es1L12zGtuw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1628502720; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=z8I8ljzIupIoIUGfeNRZTmWpmQIqWL3TaAvfA3Lftvs=; b=C8HlM1ouqg/ML2O3N4nuubh9JTRSm8KC29PuW68HwRvCABYfK8/qVKayqePEunIPVcL/ZdRRgIfO4YW8VwUkAoMX8b7JjYjj54iJXsmhhZ8XwC+cjNBPMQjFs4Nv3RW5WnMLMJYQSSqkXLmlq/+YReFMT2EhazrPHab7V1Dm9UQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78945+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1628502720780604.1903330781206; Mon, 9 Aug 2021 02:52:00 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id xg5dYY1788612xTtocbOCvSk; Mon, 09 Aug 2021 02:51:59 -0700 X-Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65]) by mx.groups.io with SMTP id smtpd.web10.20763.1628502715985312017 for ; Mon, 09 Aug 2021 02:51:56 -0700 X-Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 47EA2240029 for ; Mon, 9 Aug 2021 11:51:53 +0200 (CEST) X-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Gjrvr4LY8z6tmQ; Mon, 9 Aug 2021 11:51:52 +0200 (CEST) From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: devel@edk2.groups.io Cc: Leif Lindholm , Ard Biesheuvel , Abner Chang , Daniel Schaefer , Vitaly Cheptsov Subject: [edk2-devel] [PATCH v2 3/7] EmbeddedPkg/GdbStub: Check DebugImageInfoTable type safely Date: Mon, 9 Aug 2021 09:51:28 +0000 Message-Id: <42cbdbb34573448bff594229f93ae99d8d792db0.1628502345.git.mhaeuser@posteo.de> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mhaeuser@posteo.de X-Gm-Message-State: RD2p0pC7p7EOiOPtYnyA9gQYx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1628502719; bh=VGyLZYLQe1e/WUEYOkDNgvBMNlOgrB78aqIegj667Gs=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=aIcRjcrsFyHOrJ5r5N/XAfBQ8D4AupwbrTmtJggvxqaUNq7AjjCnA1s74ujMbiwfYhk kxP92M4+BtjHAzjH5T301nNYLYIw22sNJHVhuOs8BewyJynxhWowiV96jrODvJCIC+w5s +4/eDtXpMRejSpj7fe7h/OeRGhSS4dPHNRA= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1628502722835100041 Content-Type: text/plain; charset="utf-8" C does not allow casting to or dereferencing incompatible pointer types. Use the ImageInfoType member of the union first to determine the data type before dereferencing NormalImage. Cc: Leif Lindholm Cc: Ard Biesheuvel Cc: Abner Chang Cc: Daniel Schaefer Cc: Vitaly Cheptsov Signed-off-by: Marvin H=C3=A4user --- EmbeddedPkg/GdbStub/GdbStub.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EmbeddedPkg/GdbStub/GdbStub.c b/EmbeddedPkg/GdbStub/GdbStub.c index 7f2a5ed20011..09167fdafb4d 100644 --- a/EmbeddedPkg/GdbStub/GdbStub.c +++ b/EmbeddedPkg/GdbStub/GdbStub.c @@ -1043,8 +1043,8 @@ QxferLibrary ( =20 if (gDebugTable !=3D NULL) { for (; gEfiDebugImageTableEntry < gDebugImageTableHeader->TableSize; g= EfiDebugImageTableEntry++, gDebugTable++) { - if (gDebugTable->NormalImage !=3D NULL) { - if ((gDebugTable->NormalImage->ImageInfoType =3D=3D EFI_DEBUG_IMAG= E_INFO_TYPE_NORMAL) && + if (gDebugTable->ImageInfoType !=3D NULL) { + if ((*gDebugTable->ImageInfoType =3D=3D EFI_DEBUG_IMAGE_INFO_TYPE_= NORMAL) && (gDebugTable->NormalImage->LoadedImageProtocolInstance !=3D NU= LL)) { Pdb =3D PeCoffLoaderGetDebuggerInfo ( gDebugTable->NormalImage->LoadedImageProtocolInstance->Im= ageBase, --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78945): https://edk2.groups.io/g/devel/message/78945 Mute This Topic: https://groups.io/mt/84764908/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 5 16:08:01 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+78943+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78943+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=posteo.de ARC-Seal: i=1; a=rsa-sha256; t=1628502723; cv=none; d=zohomail.com; s=zohoarc; b=Y8l1ee/K2bCcFFH0eJenvSpzcgPZw0ONjmqi0GeWKBvZcK3h0hV7i5/8oxfbRFHVTC5hZgiShNcz3NfxzAc6/ykAh0urZ0vfT0WNbWu70pYqCAnsyutgcuVYV7RaixLQW09eGdl6lyIVaIf0ghEdgqyqYQkPPwsfgUskRFIRuj8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1628502723; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=OgfxWc1L6Y3O0CW+tEuXUcmiOLX2wyKfE1ekF1pcex0=; b=ItOamxJK9xTWQxTMw+1zv59/7fmwe6ucrY5vD/zt8fTXT43+m9KG+9ndBXqkjpIqMhAa/5z7U7Ewzgal+48G41y15iTctLbEkBaoQ4xE1MG/4lZjudMbLbB70y54CMnekfctQw435UQL5DRxa60Mhe921WEfbNuevjnFse/t2VI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78943+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1628502723494616.5962145851087; Mon, 9 Aug 2021 02:52:03 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id QMXqYY1788612xLu8tU42VgT; Mon, 09 Aug 2021 02:52:03 -0700 X-Received: from mout02.posteo.de (mout02.posteo.de [185.67.36.66]) by mx.groups.io with SMTP id smtpd.web09.20691.1628502715450253867 for ; Mon, 09 Aug 2021 02:51:55 -0700 X-Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 92355240106 for ; Mon, 9 Aug 2021 11:51:53 +0200 (CEST) X-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Gjrvs1B8zz6tmF; Mon, 9 Aug 2021 11:51:53 +0200 (CEST) From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: devel@edk2.groups.io Cc: Leif Lindholm , Ard Biesheuvel , Vitaly Cheptsov Subject: [edk2-devel] [PATCH v2 4/7] ArmPkg/DefaultExceptionHandlerLib: Check DebugImageInfoTable type safely Date: Mon, 9 Aug 2021 09:51:29 +0000 Message-Id: <961f3436a2b52a67aa6c8cd45c75c76835a3a5d8.1628502345.git.mhaeuser@posteo.de> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mhaeuser@posteo.de X-Gm-Message-State: u3H4QfQS3aVOntojCb8xKa88x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1628502723; bh=yBk3ByHdfJ6M/lniVKzAZVqHw5yNV/lzyjoo2K3PVbI=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=DgsoW57xXmOkRzDeo338boEPWbKRukCJVHroCFEhE45wmqyg3svehMOLvcK0Yy0Q4lt tgCX4Vab2zwmjD3GJ1zVNSss2Y6BLZJe6w3a8CWWlAk3IlYhgFZCzycaDMSXdo+Ji6HaI IhSMXuZhiVEm5twBuZY/XEYfjeeCt+Mldfs= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1628502724926100049 Content-Type: text/plain; charset="utf-8" C does not allow casting to or dereferencing incompatible pointer types. Use the ImageInfoType member of the union first to determine the data type before dereferencing NormalImage. Cc: Leif Lindholm Cc: Ard Biesheuvel Cc: Vitaly Cheptsov Signed-off-by: Marvin H=C3=A4user --- ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerUefi.c | = 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHand= lerUefi.c b/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandl= erUefi.c index e9fea4038252..9befb6d4db9b 100644 --- a/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerUefi= .c +++ b/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerUefi= .c @@ -51,8 +51,8 @@ GetImageName ( =20 Address =3D (CHAR8 *)(UINTN)FaultAddress; for (Entry =3D 0; Entry < DebugTableHeader->TableSize; Entry++, DebugTab= le++) { - if (DebugTable->NormalImage !=3D NULL) { - if ((DebugTable->NormalImage->ImageInfoType =3D=3D EFI_DEBUG_IMAGE_I= NFO_TYPE_NORMAL) && + if (DebugTable->ImageInfoType !=3D NULL) { + if ((*DebugTable->ImageInfoType =3D=3D EFI_DEBUG_IMAGE_INFO_TYPE_NOR= MAL) && (DebugTable->NormalImage->LoadedImageProtocolInstance !=3D NULL)= ) { if ((Address >=3D (CHAR8 *)DebugTable->NormalImage->LoadedImagePro= tocolInstance->ImageBase) && (Address <=3D ((CHAR8 *)DebugTable->NormalImage->LoadedImagePr= otocolInstance->ImageBase + DebugTable->NormalImage->LoadedImageProtocolIns= tance->ImageSize))) { --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78943): https://edk2.groups.io/g/devel/message/78943 Mute This Topic: https://groups.io/mt/84764906/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 5 16:08:01 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+78947+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78947+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=posteo.de ARC-Seal: i=1; a=rsa-sha256; t=1628502718; cv=none; d=zohomail.com; s=zohoarc; b=VGjxBfD2d8HqYivsYUFYiw6jAl96unOZbPCJZFGszIe8IX/NXZ1IFnWWB4nADMWtBCJDm/PX56D/i0Lu9X5zDq/Uc7zdRa0X/VnYvK+TYJAw1q44IqeOuuPLDoI0SPUdC9V5v3szdF8zwIXNmMjoLZIF/yO+nSuBhHYl+ybv1Is= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1628502718; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=13LOJ1tu1XkjBYRQDh0mDnJ5BXJcR6gi4+gs8ZuTAcA=; b=Sm6gZLDrk7Rx04TS10XKYEOQ9a1twrD8MJ/x1/eVKwWPe2N2oWstVZn9clOlfiFN+gPRvzuBqlva4+weMUvffDcrBItT9B2ncdBaHX43ofRN3Jx/M/KiRR3n+++5DLIqpng9V+L6QmK50ADo7FXn5YiWNuleai1aoVTfWR6gMiE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78947+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1628502718434584.6699806361167; Mon, 9 Aug 2021 02:51:58 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id rnNGYY1788612x8nK2iw7iCf; Mon, 09 Aug 2021 02:51:58 -0700 X-Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65]) by mx.groups.io with SMTP id smtpd.web08.20682.1628502716056564496 for ; Mon, 09 Aug 2021 02:51:56 -0700 X-Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id EDF69240029 for ; Mon, 9 Aug 2021 11:51:53 +0200 (CEST) X-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Gjrvs3HsQz6tmL; Mon, 9 Aug 2021 11:51:53 +0200 (CEST) From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: devel@edk2.groups.io Cc: Jian J Wang , Hao A Wu , Dandan Bi , Liming Gao , Vitaly Cheptsov Subject: [edk2-devel] [PATCH v2 5/7] MdeModulePkg/CoreDxe: Mandatory LoadedImage for DebugImageInfoTable Date: Mon, 9 Aug 2021 09:51:30 +0000 Message-Id: <081c74eb7083d20371c6885530b578fde05153e5.1628502345.git.mhaeuser@posteo.de> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mhaeuser@posteo.de X-Gm-Message-State: IBEDar22xx6Qq69PYIOgmJj4x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1628502718; bh=XgNWrwRLnjuuA+8zTUoNh+fiGQGzNSRIhAHsRD/sKnw=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=R1w+KIju3XZzIIacKylckb7OkUcrRPV0wqc5/WoU5hjvmdMhqnclpMjheDlgL7Rjl0E CRNKNXTtzdf5N3hQ9uyI1MeUaMDXZpaai3etwVFTsUtMuegmCi//KFv4OOrmSSkoCcJQ9 ryZm9ryg4R/h++vYLcTbzuBy6F+m7+UkO0k= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1628502718681100026 Content-Type: text/plain; charset="utf-8" To make parsing DebugImageInfoTable easier and safer, require the LoadedImage protocol instance to be valid for every NormalImage entry. Cc: Jian J Wang Cc: Hao A Wu Cc: Dandan Bi Cc: Liming Gao Cc: Vitaly Cheptsov Signed-off-by: Marvin H=C3=A4user --- MdeModulePkg/Core/Dxe/Misc/DebugImageInfo.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MdeModulePkg/Core/Dxe/Misc/DebugImageInfo.c b/MdeModulePkg/Cor= e/Dxe/Misc/DebugImageInfo.c index cc22e23eb0b3..afc54965bc33 100644 --- a/MdeModulePkg/Core/Dxe/Misc/DebugImageInfo.c +++ b/MdeModulePkg/Core/Dxe/Misc/DebugImageInfo.c @@ -173,6 +173,8 @@ CoreNewDebugImageInfoEntry ( UINTN TableSize; EFI_DEBUG_IMAGE_INFO_NORMAL *NormalImage; =20 + ASSERT (LoadedImage !=3D NULL); + // // Set the flag indicating that we're in the process of updating the tab= le. // --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78947): https://edk2.groups.io/g/devel/message/78947 Mute This Topic: https://groups.io/mt/84764910/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 5 16:08:01 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+78946+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78946+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=posteo.de ARC-Seal: i=1; a=rsa-sha256; t=1628502729; cv=none; d=zohomail.com; s=zohoarc; b=jenpou8aowOSDKdWfusOqPGYY2uMYmX+z4bFF/HpPcs1R0PM1qQhw1vr1V0WpCklZi1kmCMVGspXnplo8lJoGVFhZZJ9Fq/pCaRh0JZuBEqV6iY1I9RNcFPFU9SjzUSk2EKl+beakqYwaTp6is7huPBawf3nIXurXt1vU4Vob18= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1628502729; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=JO9V7UMAUFIgH7X3bQW0Afb0QPGcAoZTu0M5sBD1H3g=; b=fgQAeey0v4KnOOoN2fZJCUr9QXbe8aihotfR+StNEprswj9V9JchA9AzsCFhmZlxL1tPGfNfwRrxUqDnmIBAEnXMzFO7sSlI+jtNjrGV56iK23Y4D06cM6uOLFrAVXEA3yxRKHeLx02kd5Ba6tWstjlLDg9B7YSwHjesPnJ4IYQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78946+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1628502729124432.248521069645; Mon, 9 Aug 2021 02:52:09 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Eed3YY1788612xNBR9GHNTTR; Mon, 09 Aug 2021 02:52:01 -0700 X-Received: from mout02.posteo.de (mout02.posteo.de [185.67.36.66]) by mx.groups.io with SMTP id smtpd.web09.20692.1628502716021365054 for ; Mon, 09 Aug 2021 02:51:56 -0700 X-Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 3EEF4240106 for ; Mon, 9 Aug 2021 11:51:54 +0200 (CEST) X-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Gjrvs5g44z6tmG; Mon, 9 Aug 2021 11:51:53 +0200 (CEST) From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: devel@edk2.groups.io Cc: Leif Lindholm , Ard Biesheuvel , Abner Chang , Daniel Schaefer , Vitaly Cheptsov Subject: [edk2-devel] [PATCH v2 6/7] EmbeddedPkg/GdbStub: Mandatory LoadedImage for DebugImageInfoTable Date: Mon, 9 Aug 2021 09:51:31 +0000 Message-Id: In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mhaeuser@posteo.de X-Gm-Message-State: 1s66D5eIK8ugJDjOR6ClJe30x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1628502721; bh=/tfKmijbHzzzRosvE5stEe9YHmOtejGzzyXfcbxMWno=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=YLBYLFx4FLmfD2dBp6m1uz2MP55cD/Ah61hBcvZoTMUQ0uXOfaaA+YrY+kgvMhjtKLX r/abm7wACF4VxQLT7nyDB90uv+RFzeWbEiEzXYHdTdatLeCXisv71w7Ezg704XW5c8iuy bqCr/8v80NdgGxO3nkcTRaSwx/yKqSyaXss= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1628502731218100003 Content-Type: text/plain; charset="utf-8" To make parsing DebugImageInfoTable easier and safer, require the LoadedImage protocol instance to be valid for every NormalImage entry. Cc: Leif Lindholm Cc: Ard Biesheuvel Cc: Abner Chang Cc: Daniel Schaefer Cc: Vitaly Cheptsov Signed-off-by: Marvin H=C3=A4user --- EmbeddedPkg/GdbStub/GdbStub.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/EmbeddedPkg/GdbStub/GdbStub.c b/EmbeddedPkg/GdbStub/GdbStub.c index 09167fdafb4d..29aa63237304 100644 --- a/EmbeddedPkg/GdbStub/GdbStub.c +++ b/EmbeddedPkg/GdbStub/GdbStub.c @@ -1044,8 +1044,9 @@ QxferLibrary ( if (gDebugTable !=3D NULL) { for (; gEfiDebugImageTableEntry < gDebugImageTableHeader->TableSize; g= EfiDebugImageTableEntry++, gDebugTable++) { if (gDebugTable->ImageInfoType !=3D NULL) { - if ((*gDebugTable->ImageInfoType =3D=3D EFI_DEBUG_IMAGE_INFO_TYPE_= NORMAL) && - (gDebugTable->NormalImage->LoadedImageProtocolInstance !=3D NU= LL)) { + if (*gDebugTable->ImageInfoType =3D=3D EFI_DEBUG_IMAGE_INFO_TYPE_N= ORMAL) { + ASSERT (gDebugTable->NormalImage->LoadedImageProtocolInstance != =3D NULL); + Pdb =3D PeCoffLoaderGetDebuggerInfo ( gDebugTable->NormalImage->LoadedImageProtocolInstance->Im= ageBase, &LoadAddress --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78946): https://edk2.groups.io/g/devel/message/78946 Mute This Topic: https://groups.io/mt/84764909/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun May 5 16:08:01 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+78948+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78948+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=posteo.de ARC-Seal: i=1; a=rsa-sha256; t=1628502723; cv=none; d=zohomail.com; s=zohoarc; b=aFpmgmWbuJNx7cjvDrLG+V9mBEGf8rbJEyuVRyTujYgRSpXnCiYYGVoo0IX4CUZ0g8HjWY1h1Mz+7ZFw1IYCC+vWcX8vGP4ICXl1lXyJuC8/BjDGxsy/fl8XPtiBYkQQyXCYJTe0jPnKAaOHHRT/ZcHkyHCd8Q5pNOVSZ1QCTuA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1628502723; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=qzNyP4hYShIqpzyhd4iCKUvUwJ/QmUDNyOIE79Mm+ig=; b=e9SH8fRZjW5HAOEdoIg5tcL/7k0zXrAsH6IIP2GbXlOlPkPGilUG42KxDUbi/6g8tfo+1PU7U56lMiWfeAQc0TK+Nw8MIsivQZZXztUYgy9P+6x4Z1uoszrli6mMyWqspJYu+ZYHHc1SYxj8L49SPghyvL1xVUnG/R3A5V5bn8o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+78948+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1628502723891471.941546959824; Mon, 9 Aug 2021 02:52:03 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id lOgSYY1788612xiomuBW1yDW; Mon, 09 Aug 2021 02:52:03 -0700 X-Received: from mout02.posteo.de (mout02.posteo.de [185.67.36.66]) by mx.groups.io with SMTP id smtpd.web12.20844.1628502716522816136 for ; Mon, 09 Aug 2021 02:51:56 -0700 X-Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 8BD66240101 for ; Mon, 9 Aug 2021 11:51:54 +0200 (CEST) X-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Gjrvt0xNYz6tmN; Mon, 9 Aug 2021 11:51:54 +0200 (CEST) From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= To: devel@edk2.groups.io Cc: Leif Lindholm , Ard Biesheuvel , Vitaly Cheptsov Subject: [edk2-devel] [PATCH v2 7/7] ArmPkg/DefaultExceptionHandlerLib: Mandatory LoadedImage for DebugImageInfoTable Date: Mon, 9 Aug 2021 09:51:32 +0000 Message-Id: <87b3d2de23505feb627506a008f9713fda7fd65a.1628502345.git.mhaeuser@posteo.de> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mhaeuser@posteo.de X-Gm-Message-State: EOS4rRP0d9V0AYKfkCJYN39yx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1628502723; bh=aj2dRGrUeGqi3WB77dt0U6ZA9w5C8y/UZkRGj4oOqfA=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=N5Qrb6R61XjM90YPnuEO/fpCi7usBPQyvbnJ7ucGcc7D6lISpgEHyHDF5H+m0deX8Fb V9ZYLnp1s3kzSCb4q+sBWU/lcVTwwYeaanciU7Cb+npD92AQSzKWaLSmY38soeBz1BQHA VWl08fkIp+rGI8RBZaqxeAvq6s/LOO4nBqM= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1628502724950100050 Content-Type: text/plain; charset="utf-8" To make parsing DebugImageInfoTable easier and safer, require the LoadedImage protocol instance to be valid for every NormalImage entry. Cc: Leif Lindholm Cc: Ard Biesheuvel Cc: Vitaly Cheptsov Signed-off-by: Marvin H=C3=A4user --- ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerUefi.c | = 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHand= lerUefi.c b/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandl= erUefi.c index 9befb6d4db9b..d442b5d358b2 100644 --- a/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerUefi= .c +++ b/ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerUefi= .c @@ -52,8 +52,9 @@ GetImageName ( Address =3D (CHAR8 *)(UINTN)FaultAddress; for (Entry =3D 0; Entry < DebugTableHeader->TableSize; Entry++, DebugTab= le++) { if (DebugTable->ImageInfoType !=3D NULL) { - if ((*DebugTable->ImageInfoType =3D=3D EFI_DEBUG_IMAGE_INFO_TYPE_NOR= MAL) && - (DebugTable->NormalImage->LoadedImageProtocolInstance !=3D NULL)= ) { + if (*DebugTable->ImageInfoType =3D=3D EFI_DEBUG_IMAGE_INFO_TYPE_NORM= AL) { + ASSERT (gDebugTable->NormalImage->LoadedImageProtocolInstance !=3D= NULL); + if ((Address >=3D (CHAR8 *)DebugTable->NormalImage->LoadedImagePro= tocolInstance->ImageBase) && (Address <=3D ((CHAR8 *)DebugTable->NormalImage->LoadedImagePr= otocolInstance->ImageBase + DebugTable->NormalImage->LoadedImageProtocolIns= tance->ImageSize))) { *ImageBase =3D (UINTN)DebugTable->NormalImage->LoadedImageProtoc= olInstance->ImageBase; --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78948): https://edk2.groups.io/g/devel/message/78948 Mute This Topic: https://groups.io/mt/84764911/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-