From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Permerror (SPF Permanent Error: Void lookup limit of 2 exceeded) identity=mailfrom; client-ip=192.55.52.120; helo=mga04.intel.com; envelope-from=jian.j.wang@intel.com; receiver=edk2-devel@lists.01.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 3B6C9222DDC08 for ; Mon, 15 Jan 2018 00:49:22 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Jan 2018 00:54:40 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,362,1511856000"; d="scan'208";a="21534473" Received: from jwang36-mobl2.ccr.corp.intel.com ([10.239.192.117]) by fmsmga004.fm.intel.com with ESMTP; 15 Jan 2018 00:54:40 -0800 From: Jian J Wang To: edk2-devel@lists.01.org Date: Mon, 15 Jan 2018 16:54:27 +0800 Message-Id: <20180115085433.25008-1-jian.j.wang@intel.com> X-Mailer: git-send-email 2.15.1.windows.2 Subject: [PATCH 0/6] Fix issues caused by NX memory protection X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jan 2018 08:49:23 -0000 NX memory protection feature enabled by PcdDxeNxMemoryProtectionPolicy was not fully tested, especially if it's enabled for memory with type of EfiBootServicesCode, EfiConventionalMemory and EfiReservedMemoryType. This series will fix all issues caused by it. Jian J Wang (6): UefiCpuPkg/MpInitLib: split wake up buffer into two parts UefiCpuPkg/CpuExceptionHandlerLib: alloc code memory for exception handlers UefiCpuPkg/CpuDxe: clear NX attr for page directory UefiCpuPkg/PiSmmCpuDxeSmm: Enable NXE if it's available MdeModulePkg/PiSmmCore: remove NX attr from SMM RAM MdeModulePkg/BootScriptExecutorDxe: remove NX attr for FfsBuffer MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c | 18 ++++- .../BootScriptExecutorDxe.inf | 1 + .../Acpi/BootScriptExecutorDxe/ScriptExecute.c | 14 ++++ .../Acpi/BootScriptExecutorDxe/ScriptExecute.h | 1 + UefiCpuPkg/CpuDxe/CpuPageTable.c | 6 +- .../Library/CpuExceptionHandlerLib/DxeException.c | 18 ++++- UefiCpuPkg/Library/MpInitLib/DxeMpLib.c | 34 +++++++++ UefiCpuPkg/Library/MpInitLib/Ia32/MpEqu.inc | 5 ++ UefiCpuPkg/Library/MpInitLib/Ia32/MpFuncs.nasm | 32 ++++---- UefiCpuPkg/Library/MpInitLib/MpLib.c | 45 +++++++++++ UefiCpuPkg/Library/MpInitLib/MpLib.h | 22 ++++++ UefiCpuPkg/Library/MpInitLib/PeiMpLib.c | 23 ++++++ UefiCpuPkg/Library/MpInitLib/X64/MpEqu.inc | 5 +- UefiCpuPkg/Library/MpInitLib/X64/MpFuncs.nasm | 87 ++++++++++++++-------- UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.nasm | 14 ++++ UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.nasm | 12 ++- 16 files changed, 278 insertions(+), 59 deletions(-) -- 2.15.1.windows.2