From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id D64DEAC0A00 for ; Fri, 1 Mar 2024 03:08:52 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=NsGaq88MALaAj45PGv11Pt+NWgcxWaSCqQq8fB4Of+U=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1709262531; v=1; b=ekjHMX1meNNjOw/DuBZkPzJYtEiNNUh1Tj91887R6zrWMSjQWGMqlMFndv5DB+y8bmd0fXOw aZc70z0CqXDZ8hJpA848nWChwbe+o8w8GJbqeUqDCF3VFKTWMIqvUq87odi1tnUf7CGC+lH8WSS yUBm2Jirl/1wPKfjLzxgeD8A= X-Received: by 127.0.0.2 with SMTP id irZyYY7687511xyAFnm431dW; Thu, 29 Feb 2024 19:08:51 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) by mx.groups.io with SMTP id smtpd.web11.14273.1709262530800388293 for ; Thu, 29 Feb 2024 19:08:50 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10999"; a="21240180" X-IronPort-AV: E=Sophos;i="6.06,194,1705392000"; d="scan'208";a="21240180" X-Received: from orviesa008.jf.intel.com ([10.64.159.148]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Feb 2024 19:08:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,195,1705392000"; d="scan'208";a="8602615" X-Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orviesa008.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 29 Feb 2024 19:08:27 -0800 X-Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 29 Feb 2024 19:08:26 -0800 X-Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 29 Feb 2024 19:08:25 -0800 X-Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 29 Feb 2024 19:08:25 -0800 X-Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.168) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 29 Feb 2024 19:08:25 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OS2LFsjIjbGKkn4o7q7P7KqeySPy4MFAR3rosUCjkBlxxuRmRwzfADYLuHJyfu9J7XdlK4LdAryyF3c3LC1TuYdF8J757Tv2DDnprXaIpRrLDxubKnSvBPbI5g4mTNKLOTljNtyzQ1d2zytxbkhBYe0GpUu7kAhQKTEbLfbahJE0SNSvEHtfe2R5PUvcKjgcuTrvyFx3R6s40Nd++iUnA39tyLh9l1fOLSqhSBFXj5WljFTwP23zmcgFnuSU8f3zzhn2Qucm0ezhqG5BBbe60P+VHmtqT9lwUuhkd4nxK01ct7+JilEs3MfWyr3hcGwuOZXen44/oSy5IRGjbraQow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GYYKeIvbkjtShLPFCii3e6KuzdoJAqWOXOq+y93hAJU=; b=JM2JiaxGPPgCflXvvOKUgj4nmmO6mUH2r2Yjm/m/BeVn89GP+ScSAiG7Qh+0CslwNNl/jO6U0DbftQqbWr2BFziXfYnaXvfLIYIiBllqBm/s233SCZ1Th3QgFBRF9EKZsqc30QxVIiDczaoiuJ+RV4mEfaTtetsgJlSLKdDoQ7aIUrS6/Ec9FIPvQCpwBsmoZP0mWQZZ+1UEgfjRyXIMZTiesTMX8tjMR4bvWYTjkwaOF2jqr3IGaKAP2xzglVdRyMeRsRSZkAn54SolmGzV5j2/TmqXXLmiCwTEwFX6/6AxjFRHV9YFi6TC+frJemZ6pNgd5zAlGCVmktFonYK/HQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none X-Received: from MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by CY8PR11MB7171.namprd11.prod.outlook.com (2603:10b6:930:92::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.25; Fri, 1 Mar 2024 03:08:22 +0000 X-Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::2c31:82b7:9f26:5817]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::2c31:82b7:9f26:5817%5]) with mapi id 15.20.7362.013; Fri, 1 Mar 2024 03:08:22 +0000 From: "Ni, Ray" To: "Liu, Zhiguang" , "devel@edk2.groups.io" CC: Liming Gao , "Wu, Jiaxin" , Laszlo Ersek , Ard Biesheuvel , Sami Mujawar Subject: Re: [edk2-devel] [PATCH v3 4/4] StandaloneMmPkg: Disallow unregister MMI handler in other MMI handler Thread-Topic: [PATCH v3 4/4] StandaloneMmPkg: Disallow unregister MMI handler in other MMI handler Thread-Index: AQHaa4VgjU/DF89/50+qlHLORmxQv7EiNChQ Date: Fri, 1 Mar 2024 03:08:22 +0000 Message-ID: References: <20240301030133.628-1-zhiguang.liu@intel.com> <20240301030133.628-5-zhiguang.liu@intel.com> In-Reply-To: <20240301030133.628-5-zhiguang.liu@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8244:EE_|CY8PR11MB7171:EE_ x-ms-office365-filtering-correlation-id: ee423322-a957-41cd-bd05-08dc399cda7d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: vyR41/mCp2vXdTMcqIkn8lTehD4gAFFl4vkSMsSQ+rB8zhdNaKYYcB24SVN82PfO+1H3V/VJsqbFy9scpzuh/QWXsw/9Uq+1Q01XN32lzTLsGrEWixOwlmVQ/knKE2ipGlEJdjBU7wG3bkZYU1CuwodVZp3JoDarO+zmFFJZUkhQn8fL0mxyWisOn1xlcePwdw3mBANTpprDvIzuhQgQFQU42InbG5edYptS5+1wnABRbx6KXh7yPrOoyp6rlFYxmUmZcmEvpnpfcLJJpvTsze9GUetbA4+BNBkgxbsveA2RIv4IUR72SBTiQsiWYm7zHH69MzADiMqanGdyUGKpQ87ofvSY+7ua9CWGor7l6W4II2+99YbA+PeNzeg8gBBt4lglH/geT2JxV0i1GEo54IOjIed3y+ymou8Ns3CU1arOX0MFyK5j1000iSJf6Yj+BJDcM20NRlK8aEpegZuQAgV0A77P0dF4/1Jox1ka83u/BYs/vM+MtPIsgRz97yVrxr9jPgqhpySgG3RhvCYQMReZdz1h94ukSA56/eFJ7Z0qsB4qpVkqqiYzTAgTgrHPpSXwLIzeVjsL/cmy2RCl117WJ74Rmp/S4btbLn+bGfuXXng+vPgByoGidUJ60Lcj2hUyiU6oKEmDu1bPQto+ZDrkPd5cuJLOMIYpbLiA0YU+Et3iJzuUb1elb5vp0F1ZPjVCGm0SasccsDtrselPNeF1PMjWnUplXDvLOyqvdJk= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?6NfRw4n3EtC2nMwh7Rt798M5EzI29JYHqs4BDVbvtBJSOGkKQQh0FxwJf2ys?= =?us-ascii?Q?tFWNNLBhiCwnQUlgcNfMRGqWMht4lpPm5xQkGc3vvellfZLrddQPH59DlgmI?= =?us-ascii?Q?i4wt+TMFvXot8YLQfsX3JLCv+qjkgIWkfJfrGMc+RXm9tTIsk0xF6mofokL4?= =?us-ascii?Q?JSfcbjrqc4EUshvu8P8RQqe+DElyAg7Jga4G1smIaIBGZedRQJCdcw8AfGcb?= =?us-ascii?Q?Fi94PZgrHeUyV0v/k31DsfX5auuVE/wAHy1nuWr9fmiyzRfTjoJ+dcnBAj5L?= =?us-ascii?Q?CVfdNdLyxuui5yZbfdtJPrSMk0WfBJadR71hb+7SRKkQ5AIPQ0PdEeQQrdE6?= =?us-ascii?Q?TCfo9zGL8w0bO/5jJDXEWqnRyRKIRKUqMc9BdET4zHDDjbQ8etAXwrC4eDet?= =?us-ascii?Q?BC+74BorZIl3ngylTv81TQVsKvUcsIIeJQpQkeKuVVZKSo3iDSVQ+fvOBP0m?= =?us-ascii?Q?1oFJfxm89k1XWeC9aeyw0//OQxMOOJmw+J7PrDYqyXMpQ13ugywY79xJ+rsn?= =?us-ascii?Q?UkaJeGz9E39w/dXOin23i0DhEWKBZxsoiQb2VdOdtaaL6QBVrVPJbwNkFcwC?= =?us-ascii?Q?m0s9fZ6PjqrSzhG+Tltd7d8v4rBJFS7UgNgbFf+SJcKJIkQfcqeExrm1kHhd?= =?us-ascii?Q?r+2AhPoQJ+U6bX7BBMIcHoq0wiAwFEy8bMmszxWVNLHyflU/H5xkBlMBatfO?= =?us-ascii?Q?IhJZg8zA2M1Pg8EfdclkQNeFb+YRnKvUbimBiyfwOvsp2+OwaRr2rJiVyNmH?= =?us-ascii?Q?QdQ64f4vpCBb8XmN/1Jm6RkpnIRmJ4g/d7d0NRBtNO2oZx8qVXK5h2dFTUC7?= =?us-ascii?Q?uA8OAC8LG2vDiaSm98BGoC8+sCiXSjyPNheASEM/Sw9R9njYLlx+0J960kb6?= =?us-ascii?Q?NNqFzULw0H7hZ6w30RyenLcu8IHY0+7kaRYgT9u35/gqBoPYu4t8Iah4yRf8?= =?us-ascii?Q?ZUmA1uaaE7hCUEsAifE0WYCvm7LAn7WpHSWMSKBBqVkIKSstIlwlbzvKMj3v?= =?us-ascii?Q?NQs/R1fIVXEnMOL0V5p8ly+ndjIgYPJ1HtoWln1XIzXM7Cgo41Bne/s3V2qC?= =?us-ascii?Q?L7Pit5gkA8clqlNfbjSIBczaz6oWdblUR6csHyl8a1c7Fxm7gnDktIFuhb/j?= =?us-ascii?Q?53pIgVqPrM3CRwQlOuN4Yf42geg21ZaDd+IP0DYHV7v0TNsQAqJw0cnevIf8?= =?us-ascii?Q?njkz34urOtQGeRTJVmJL1nQdZvAuuwgSDXdN1SAg8GgoMIW2GD3WWtw6EAzJ?= =?us-ascii?Q?ygxmZK/VyRabxR2VNbixOhmyPjbDl8zFFXVVHCVcgy+EG+4g4yFORsdo18me?= =?us-ascii?Q?N+DOPRb1VyiUAmzlHcwlilMqdQLGpzo/zLA8iET7aXYJ1Rw3awA6wzymBbTb?= =?us-ascii?Q?HyuzHgc99I9Ev7vgKDJ/y0PQXTysNiPTm4r11ADDGtD+nhj++Js0HuPiH3oe?= =?us-ascii?Q?sqWPMhXd+v766csl/4T+3byhVftiZh64eOcX6huD2BVYzsIDpFuaRJoODdmo?= =?us-ascii?Q?jwpNZ2IvDT7VgJUAaPOqJjOjNlJJA9VW8krJrrqeJXxAI1Np+0APgd6nnPHJ?= =?us-ascii?Q?L/n1rc/vW2aJ9fHg1BQ=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ee423322-a957-41cd-bd05-08dc399cda7d X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2024 03:08:22.2663 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: TstQV8T/UhA1TrOoKLJ6PqvIjbmxsBl16+EkVXWfTknfwnPNij7mPJca4V2SSh6uYEKDaCX4UxtaiMnzK/GWfQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7171 X-OriginatorOrg: intel.com 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 Reply-To: devel@edk2.groups.io,ray.ni@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: cZUboszgrrQ679V5hAYW7qbRx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=ekjHMX1m; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io Reviewed-by: Ray Ni Thanks, Ray > -----Original Message----- > From: Liu, Zhiguang > Sent: Friday, March 1, 2024 11:02 AM > To: devel@edk2.groups.io > Cc: Liu, Zhiguang ; Liming Gao > ; Wu, Jiaxin ; Ni, Ray > ; Laszlo Ersek ; Ard Biesheuvel > ; Sami Mujawar > Subject: [PATCH v3 4/4] StandaloneMmPkg: Disallow unregister MMI handler > in other MMI handler >=20 > In last patch, we add code support to unregister MMI handler inside > itself. However, the code doesn't support unregister MMI handler > insider other MMI handler. While this is not a must-have usage. > So add check to disallow unregister MMI handler in other MMI handler. >=20 > Cc: Liming Gao > Cc: Jiaxin Wu > Cc: Ray Ni > Cc: Laszlo Ersek > Cc: Ard Biesheuvel > Cc: Sami Mujawar > Cc: Ray Ni > Signed-off-by: Zhiguang Liu > --- > StandaloneMmPkg/Core/Mmi.c | 32 +++++++++++++++++++++++--------- > 1 file changed, 23 insertions(+), 9 deletions(-) >=20 > diff --git a/StandaloneMmPkg/Core/Mmi.c b/StandaloneMmPkg/Core/Mmi.c > index c1a1d76e85..9e52072bf7 100644 > --- a/StandaloneMmPkg/Core/Mmi.c > +++ b/StandaloneMmPkg/Core/Mmi.c > @@ -36,8 +36,9 @@ typedef struct { > MMI_ENTRY *MmiEntry; > } MMI_HANDLER; >=20 > -LIST_ENTRY mRootMmiHandlerList =3D INITIALIZE_LIST_HEAD_VARIABLE > (mRootMmiHandlerList); > -LIST_ENTRY mMmiEntryList =3D INITIALIZE_LIST_HEAD_VARIABLE > (mMmiEntryList); > +LIST_ENTRY mRootMmiHandlerList =3D INITIALIZE_LIST_HEAD_VARIABLE > (mRootMmiHandlerList); > +LIST_ENTRY mMmiEntryList =3D INITIALIZE_LIST_HEAD_VARIABLE > (mMmiEntryList); > +MMI_HANDLER *mCurrentMmiHandler =3D NULL; >=20 > /** > Finds the MMI entry for the requested handler type. > @@ -161,13 +162,19 @@ MmiManage ( > // get next node before handler is executed, since LIST_ENTRY that > // Link points to may be freed if unregister MMI handler. > // > - Link =3D Link->ForwardLink; > - Status =3D MmiHandler->Handler ( > - (EFI_HANDLE)MmiHandler, > - Context, > - CommBuffer, > - CommBufferSize > - ); > + Link =3D Link->ForwardLink; > + // > + // Assign gCurrentMmiHandle before calling the MMI handler and > + // set to NULL when it returns. > + // > + mCurrentMmiHandler =3D MmiHandler; > + Status =3D MmiHandler->Handler ( > + (EFI_HANDLE)MmiHandler, > + Context, > + CommBuffer, > + CommBufferSize > + ); > + mCurrentMmiHandler =3D NULL; >=20 > switch (Status) { > case EFI_INTERRUPT_PENDING: > @@ -314,6 +321,13 @@ MmiHandlerUnRegister ( > return EFI_INVALID_PARAMETER; > } >=20 > + // > + // Do not allow to unregister MMI Handler inside other MMI Handler > + // > + if ((mCurrentMmiHandler !=3D NULL) && (mCurrentMmiHandler !=3D > MmiHandler)) { > + return EFI_INVALID_PARAMETER; > + } > + > MmiEntry =3D MmiHandler->MmiEntry; >=20 > RemoveEntryList (&MmiHandler->Link); > -- > 2.31.1.windows.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 (#116209): https://edk2.groups.io/g/devel/message/116209 Mute This Topic: https://groups.io/mt/104657669/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-