From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web12.3529.1633657432522540261 for ; Thu, 07 Oct 2021 18:43:52 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=v9C9Vhxs; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: dandan.bi@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10130"; a="226700538" X-IronPort-AV: E=Sophos;i="5.85,356,1624345200"; d="scan'208";a="226700538" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Oct 2021 18:43:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,356,1624345200"; d="scan'208";a="590383445" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga004.jf.intel.com with ESMTP; 07 Oct 2021 18:43:49 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Thu, 7 Oct 2021 18:43:48 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Thu, 7 Oct 2021 18:43:48 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Thu, 7 Oct 2021 18:43:48 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.173) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Thu, 7 Oct 2021 18:43:46 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nL4SbjZ5qxgBn9BnoIkeuPT3JVRrRkPkOuvOUNkjLiXiRA9+h+hNBuLbRnKZd0PUTYDdCxBMGgNHYQSnaNxxdBoTTokdDo7aT64Dr5MJ2sESyZcXwPXl+vS4mtIOQlbEiDEwLJTARAaCyfg7/bPQmuWYUt+qixPiJbYgRyoe6osY0gNwNsdPaUlVv9OEOFNPjkJ+bKsIBzfttTnP5V6+EdGvkszNSfugNOUDf9cQiMbgwY1VA1IRNW/iu4Co2argq1mTpK/ywOoLd1eefahxIJJRbDmNqJ8LxuFW5rclmlB4jrQb40x+oYVOaKgSYnP9NUpruRKwiuXMaQXjbx/yXg== 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=BIWiAEmiBdB5MxPIb4jLtg6HSzcghsyWt/Qsi8Uhk8c=; b=EnP/AtOTselFFiGRMgGCm7ckQeKE8O67V+HnUOJryM1SK6XGTCY3/kV29/9oF/hGlVmcEnJ4wOVADyEDUlGCaut8Qnw0S7vQv1zL6hvcfWBEp1LLsL9cGhu6twGHMC2+ClfgGKkmd/IgsiKNci31oxPW7tLH/UDro4ePV2mrQ0KsmD2bglxOQbL0RZwiCwWOHt/XVVivWezFA7j1nuw4Kd3QppZZ5jO84MKnnCym19HQT3FSr/KjdCly+0cOAnYPMwq1I/buG2xLvwKjeSGdhtvFm0PSo/IWQGyhMPDodMZupk25hjxxcdOoqfw/hU4bU2oLRODrh/O07emdbGRf4Q== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BIWiAEmiBdB5MxPIb4jLtg6HSzcghsyWt/Qsi8Uhk8c=; b=v9C9Vhxs+7iKzSaJv+a1Fh9qUPf/bu4m+51lBkc//SwixCSeMZg6yOBR/+VYi7sHavkpSNqHmfDggqr/8XJxnHlD386XRGjGx1i07U3O/JxFUu7BXKetWJ66Bid/0SxqpLRBHKzuBUWtVeSLzMOwSTjlssyxORQi3HesXmgdFPU= Received: from DM4PR11MB5453.namprd11.prod.outlook.com (2603:10b6:5:398::15) by DM6PR11MB3369.namprd11.prod.outlook.com (2603:10b6:5:b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.22; Fri, 8 Oct 2021 01:43:42 +0000 Received: from DM4PR11MB5453.namprd11.prod.outlook.com ([fe80::ed4c:25e0:281e:da52]) by DM4PR11MB5453.namprd11.prod.outlook.com ([fe80::ed4c:25e0:281e:da52%2]) with mapi id 15.20.4587.020; Fri, 8 Oct 2021 01:43:41 +0000 From: "Dandan Bi" To: "Shi, Hao" , "devel@edk2.groups.io" CC: Liming Gao Subject: Re: [PATCH] UserAuthFeaturePkg/UserAuthenticationDxeSmm: The SMI to handle the user authentication should be unregister before booting to OS Thread-Topic: [PATCH] UserAuthFeaturePkg/UserAuthenticationDxeSmm: The SMI to handle the user authentication should be unregister before booting to OS Thread-Index: AQHXtA3s2DWfYjyWBUutSScFTGZzpKvIY6DA Date: Fri, 8 Oct 2021 01:43:41 +0000 Message-ID: References: <20210928020915.790-1-hao.shi@intel.com> In-Reply-To: <20210928020915.790-1-hao.shi@intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4c5f247e-2c7c-4c26-5e28-08d989fd0eef x-ms-traffictypediagnostic: DM6PR11MB3369: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UniLAut9b79Z6Zi1mCXipOa17Oj1O/l/Znvk1V8r/jo3+hQ3xv/mgkImF/g/aP8SuPOSmolYK3kkYihdxvOOI/JydyxXUjvKyF7P+hBGuina5OOhbqutPV/zuKfWX0UYA3+aNCHqJlq0F1Cb7M7h6uHj5n6WVuuZhhNMu72LIOt1XGn0v2yViG6an54xY3tGAfxQqMEbQ4t2yUHYhxbLnkQqXmGXPACIZTf18CeNN5Q0vD15krlvtqge4Rp0U4xvpGEIopUic0WUl9dLGFS8mlaWhcznMcKcS4wYuM/u1bSgAhjfNaPqqJAl5UKIrXV6GhhHqtubo2Ojxw1LTUkC4CTULr/HU9S6LbB77LshLQSIhIWXCzs3+UsmAu3O/6XG4fcIQ2o3OokxU9vvz5eXu4emUROTKeD5+vc7kmNF5Z2bacJPhoCdJH4ddzQbkho51f6xR9UI7is1P8IzMYD6jPkd5DqGh8Elr6gQkCLEvooa4pVfkzIVQ346+ANa1SjP0IHruOJbuFNbRsFplQGLzr/wq/2sbBFGY/cba7oxBavHHm0YQtPPWYbUMYFOi/5yyR5N0uXdcLIIuboPDgU7OkLwc9gXF5nyYE+6Pk2HCKphrLedGBkke7OOnKG16BWuvmx5tPfUPrjSmYuNC1O4ATPD5xQEYfXzuk8ZpLhOaJYkiavUK9fVUTvdEo7tXivbiYKaHUS97+fKisK+BhQciFAxZFD7YrCGuw6WXL+pzwwX9dcXC0/O89NH7JiBHv7ujSjjl93Pl5u8hdf5vUK/rf+fD2xaQC1KvOa4LXRCNbg= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5453.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(316002)(83380400001)(66556008)(66476007)(4326008)(38100700002)(71200400001)(7696005)(122000001)(38070700005)(55016002)(110136005)(9686003)(53546011)(33656002)(6506007)(5660300002)(66946007)(508600001)(64756008)(2906002)(8676002)(8936002)(66446008)(52536014)(76116006)(86362001)(186003)(26005)(966005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?XH6+0PSJnxA2j2WbI9wOifaQbR8mfPzvLH64rPNholMlF9eATznNbUj1mV8i?= =?us-ascii?Q?5RFl+v8whp9MEnTRaCMNi5qiIgHBG7s3qHVjmg0xvqkg/BhlloifBvQWYtTn?= =?us-ascii?Q?qX/jlhYZQuSnEYEtpXVBDeXlnZJim48td9vOQfdeR3OlgUnQqhllWWRjs0cL?= =?us-ascii?Q?Gvc0v4JQEIkgXcG7a6d/2qU7lg2oOk74us4nu++T7M+P0XgLSDRHUvF0KhHt?= =?us-ascii?Q?wsRLQJdwibcWzQnRZmoMbHOaQ/yAbgbrlrLIBN7CbKalFMYd2y3S6SG/RPoF?= =?us-ascii?Q?AGnkycnJA1GUIt0R5OQ1bG5XhgprAuhqUzA8qN3XqY72vTD/rbViExSK0j4E?= =?us-ascii?Q?O+X1aR8yLJBYxDHMrANXy78p58ikLdm7HTewMovWH9GKhR7a8S9CjgAKxWat?= =?us-ascii?Q?KERu9SDNTNhsiaEvJkPHmLbx03K64DvvZ6yB++UYmbgphB8v4I8fz6mrM4tM?= =?us-ascii?Q?RoFqPzthbl+A42lqVlKDYewh6DqHsgKn5YcqucLz7rtq519SPUZU71o84oRJ?= =?us-ascii?Q?ppzo6sx8s2itXRFB1DsRbvLwzt+Ol73SO47iEkOMzs/T5UkawahgMNPPoKX0?= =?us-ascii?Q?7xP801SCvh7LYiTx2RiqtZQaMoFujRCpV+e+ApkeWhB5ox4IsFr+OFqt3E2P?= =?us-ascii?Q?gGC5IzdimsJu5lcKEe0h2WMLxdPzhXlOxxfIAYdQTRId94ZC2zyZKYlTNW7V?= =?us-ascii?Q?4gs0rHKU4E829bJUV8Xa9ek9joXMUQFH0iv1bdLu62DKT2xs9ilAPvd7zGHb?= =?us-ascii?Q?Z6nuh4nkvKCMxCkONKH2piJlP7qTsk/LK8tQG1M7IEw8dhZRTPArdSBYgoth?= =?us-ascii?Q?RnVjZ2ndai6Piuuv0i62hntgsLCWZokkSI2AKk1dv5YQcoYd4m71gDzyyKGg?= =?us-ascii?Q?t7Ov0gxtdrTLo0xdFGfDwFmsgrcRdbtnwjT+965aEk4zKlQfTRJJt/Rg1WBO?= =?us-ascii?Q?8YlkbEgqBp2zj7Ph2UJVwIk5GGkNkevCrYyQwAD9GLPMoWsSg687RrwpL6hJ?= =?us-ascii?Q?hKsFELqLV22FF7Q6VSRMtNDdRREqSFxCGHNrVG19gsb3kY+3qM3guz4OYvjj?= =?us-ascii?Q?MdJT+SG14uhqfQQ1ubdE/HHcRZbTwes8kOPIv3FFJACsTg24Lq4KLi6Cwzil?= =?us-ascii?Q?RPrrVIeUUq9UH6BaBvYdEKvR/P0pnqVm5z//NuRYn0QTvqFwG91n1ghwncio?= =?us-ascii?Q?MzrADIHSC2FEAgLJdqsZxj/YW8NzxNMLk/kaMwj73lcN4G2yzQybBBw5WOPt?= =?us-ascii?Q?88PAcchityouNGYqLXZZ0yjAdNSjYj1ZaXOJ5pvtWKOS+/LbIiMhNVunPyUB?= =?us-ascii?Q?rec=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5453.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4c5f247e-2c7c-4c26-5e28-08d989fd0eef X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Oct 2021 01:43:41.8551 (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: 2uRUCVh1roAnqOkyEtrM5HdUINuQ/jc8z9njmW0kf8P+1gTCoE61AhfHrGjhzCDzvQCw30MU1dmoiDzWP0tHIA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3369 Return-Path: dandan.bi@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Dandan Bi Thanks, Dandan > -----Original Message----- > From: Shi, Hao > Sent: Tuesday, September 28, 2021 10:09 AM > To: devel@edk2.groups.io > Cc: Shi, Hao ; Bi, Dandan ; > Liming Gao > Subject: [PATCH] UserAuthFeaturePkg/UserAuthenticationDxeSmm: The > SMI to handle the user authentication should be unregister before booting > to OS >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3648 >=20 > Register SmmExitBootServices and SmmLegacyBoot callback function to > unregister this handler. >=20 > Signed-off-by: Hao Shi > Cc: Dandan Bi > Cc: Liming Gao > --- > .../UserAuthenticationSmm.c | 39 +++++++++++++++++-- > .../UserAuthenticationSmm.inf | 2 + > 2 files changed, 38 insertions(+), 3 deletions(-) >=20 > diff --git > a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx > eSmm/UserAuthenticationSmm.c > b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx > eSmm/UserAuthenticationSmm.c > index 07e834eb..3d66010b 100644 > --- > a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx > eSmm/UserAuthenticationSmm.c > +++ > b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthentication > +++ DxeSmm/UserAuthenticationSmm.c > @@ -13,6 +13,7 @@ UINTN mAdminPasswordTryCount = =3D 0; >=20 > BOOLEAN mNeedReVerify =3D TRUE; > BOOLEAN mPasswordVerified =3D FALSE; > +EFI_HANDLE mSmmHandle =3D NULL; >=20 > /** > Verify if the password is correct. > @@ -612,6 +613,30 @@ EXIT: > return EFI_SUCCESS; > } >=20 > +/** > + Performs Exit Boot Services UserAuthentication actions > + > + @param[in] Protocol Points to the protocol's unique identifier. > + @param[in] Interface Points to the interface instance. > + @param[in] Handle The handle on which the interface was installed. > + > + @retval EFI_SUCCESS Notification runs successfully. > +**/ > +EFI_STATUS > +EFIAPI > +UaExitBootServices ( > + IN CONST EFI_GUID *Protocol, > + IN VOID *Interface, > + IN EFI_HANDLE Handle > + ) > +{ > + DEBUG ((DEBUG_INFO, "Unregister User Authentication Smi\n")); > + > + gSmst->SmiHandlerUnRegister(mSmmHandle); > + > + return EFI_SUCCESS; > +} > + > /** > Main entry for this driver. >=20 > @@ -629,10 +654,11 @@ PasswordSmmInit ( > ) > { > EFI_STATUS Status; > - EFI_HANDLE SmmHandle; > EDKII_VARIABLE_LOCK_PROTOCOL *VariableLock; > CHAR16 > PasswordHistoryName[sizeof(USER_AUTHENTICATION_VAR_NAME)/sizeof( > CHAR16) + 5]; > UINTN Index; > + EFI_EVENT ExitBootServicesEvent; > + EFI_EVENT LegacyBootEvent; >=20 > ASSERT (PASSWORD_HASH_SIZE =3D=3D SHA256_DIGEST_SIZE); > ASSERT (PASSWORD_HISTORY_CHECK_COUNT < 0xFFFF); @@ -657,13 > +683,20 @@ PasswordSmmInit ( > ASSERT_EFI_ERROR (Status); > } >=20 > - SmmHandle =3D NULL; > - Status =3D gSmst->SmiHandlerRegister (SmmPasswordHandler, > &gUserAuthenticationGuid, &SmmHandle); > + Status =3D gSmst->SmiHandlerRegister (SmmPasswordHandler, > + &gUserAuthenticationGuid, &mSmmHandle); > ASSERT_EFI_ERROR (Status); > if (EFI_ERROR (Status)) { > return Status; > } >=20 > + // > + // Register for SmmExitBootServices and SmmLegacyBoot notification. > + // > + Status =3D gSmst->SmmRegisterProtocolNotify > + (&gEdkiiSmmExitBootServicesProtocolGuid, UaExitBootServices, > + &ExitBootServicesEvent); ASSERT_EFI_ERROR (Status); Status =3D > + gSmst->SmmRegisterProtocolNotify (&gEdkiiSmmLegacyBootProtocolGuid, > + UaExitBootServices, &LegacyBootEvent); ASSERT_EFI_ERROR (Status); > + > if (IsPasswordCleared()) { > DEBUG ((DEBUG_INFO, "IsPasswordCleared\n")); > SavePasswordToVariable (&gUserAuthenticationGuid, NULL, 0); diff --g= it > a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx > eSmm/UserAuthenticationSmm.inf > b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx > eSmm/UserAuthenticationSmm.inf > index 0b33b194..d73a2fe2 100644 > --- > a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthenticationDx > eSmm/UserAuthenticationSmm.inf > +++ > b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthentication > +++ DxeSmm/UserAuthenticationSmm.inf > @@ -48,6 +48,8 @@ > [Protocols] > gEdkiiVariableLockProtocolGuid ## CONSUMES > gEfiSmmVariableProtocolGuid ## CONSUMES > + gEdkiiSmmExitBootServicesProtocolGuid ## CONSUMES > + gEdkiiSmmLegacyBootProtocolGuid ## CONSUMES >=20 > [Depex] > gEfiSmmVariableProtocolGuid AND gEfiVariableWriteArchProtocolGuid > -- > 2.31.1.windows.1