From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id 56B8AAC0DEF for ; Tue, 6 May 2025 12:42:17 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=TqYPyhzGydQ+p9gqTG8UO+WG8OA0Yx8R4371yzON3ts=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20240830; t=1746535337; v=1; x=1746794535; b=TNwzK2THc9JbjlUKP7uMrN/xTctSEmQo/e77Ly0AofipsHxOyatMplGs1Go10RFsr4e8QU4d zD5Rc3j6t7boKvmTKqT+EeU59HzCmXIHs30u64boIpVnvwJ1b2b+uX4AOw63QwrPLaYowFTVII7 F5McXXVQpkTRdoA+37khWjR66EauLXOUx8QcJoRbUXOHt/jOONCsjtFPZ4f5GhacFWx/7feD0vd zlx8emHb8ivdWoXDB8nJSYg4CDBBoVWe4MyMA+A+30sLZHg+ZB4MMaZA/EEJjywr2N2ocWnXNex bfBqwCggSOxYf6BJQbmjWLRjIeGqp7CFYmPu6l2oWUtQQ== X-Received: by 127.0.0.2 with SMTP id Vc2rYY7687511xGQrih4uWiy; Tue, 06 May 2025 05:42:15 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) by mx.groups.io with SMTP id smtpd.web11.75166.1746535334981944530 for ; Tue, 06 May 2025 05:42:15 -0700 X-CSE-ConnectionGUID: nyqqL/VhSFyuhvd04gbaoA== X-CSE-MsgGUID: dMzL06RKTdKivJPqlfiZIA== X-IronPort-AV: E=McAfee;i="6700,10204,11425"; a="35821695" X-IronPort-AV: E=Sophos;i="6.15,266,1739865600"; d="scan'208";a="35821695" X-Received: from orviesa006.jf.intel.com ([10.64.159.146]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 May 2025 05:42:14 -0700 X-CSE-ConnectionGUID: DavWLZpAQuqE3x4SB0AoQQ== X-CSE-MsgGUID: Kx69jxw4SyCeqaCItLI6/A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,266,1739865600"; d="scan'208";a="135512708" X-Received: from zhouji3x-z238.sh.intel.com (HELO zj3-desktop.ccr.corp.intel.com) ([10.239.158.23]) by orviesa006.jf.intel.com with ESMTP; 06 May 2025 05:42:12 -0700 From: "Zhou Jianfeng via groups.io" To: devel@edk2.groups.io Cc: Zhou Jianfeng , Ray Ni , Gerd Hoffmann , Jiaxin Wu , Zhiguang Liu , Dun Tan , Rahul Kumar , Star Zeng , Liming Gao Subject: [edk2-devel] [PATCH] UefiCpuPkg/PiSmmCpuDxeSmm: Fix SMRAM memory leak during S3 resume Date: Tue, 6 May 2025 20:42:08 +0800 Message-Id: <20250506124208.60715-1-jianfeng.zhou@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Tue, 06 May 2025 05:42:15 -0700 Resent-From: jianfeng.zhou@intel.com Reply-To: devel@edk2.groups.io,jianfeng.zhou@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: oOpwHDfWMjlCzgTivDatQHbGx7686176AA= Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240830 header.b=TNwzK2TH; dmarc=pass (policy=none) header.from=groups.io; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io SyncContext of SMM_DISPATCHER_MP_SYNC_DATA was dynamically allocated from SMRAM. The memory was not freed before reallocation in S3 resume path. This could lead to: 1. Memory leak in SMRAM. 2. Potential S3 resume failure after repeated S3 tests due to SMRAM exhaustion. This change releases the SyncContext memory before reallocating it Cc: Ray Ni Cc: Gerd Hoffmann Cc: Jiaxin Wu Cc: Zhiguang Liu Cc: Dun Tan Cc: Rahul Kumar Cc: Star Zeng Cc: Liming Gao Cc: Rahul Kumar Cc: Zhou Jianfeng Signed-off-by: Zhou Jianfeng --- UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c b/UefiCpuPkg/PiSmmCpuDxe= Smm/MpService.c index b19906b610..7bc68087ad 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c @@ -1868,6 +1868,10 @@ InitializeMpSyncData ( UINTN CpuIndex;=0D =0D if (mSmmMpSyncData !=3D NULL) {=0D + if (mSmmMpSyncData->SyncContext !=3D NULL) {=0D + SmmCpuSyncContextDeinit (mSmmMpSyncData->SyncContext);=0D + }=0D +=0D //=0D // mSmmMpSyncDataSize includes one structure of SMM_DISPATCHER_MP_SYNC= _DATA, one=0D // CpuData array of SMM_CPU_DATA_BLOCK and one CandidateBsp array of B= OOLEAN.=0D @@ -1968,6 +1972,7 @@ InitializeMpServiceData ( mSmmMpSyncData =3D (SMM_DISPATCHER_MP_SYNC_DATA *)AllocatePages (EFI_SIZ= E_TO_PAGES (mSmmMpSyncDataSize));=0D ASSERT (mSmmMpSyncData !=3D NULL);=0D =0D + ZeroMem (mSmmMpSyncData, mSmmMpSyncDataSize);=0D RelaxedMode =3D FALSE;=0D GetSmmCpuSyncConfigData (&RelaxedMode, NULL, NULL);=0D mCpuSmmSyncMode =3D RelaxedMode ? MmCpuSyncModeRelaxedAp : MmCpuSyncMode= Tradition;=0D -- 2.31.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#121308): https://edk2.groups.io/g/devel/message/121308 Mute This Topic: https://groups.io/mt/112647890/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-