From nobody Thu May 9 16:58:24 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+94068+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+94068+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1663761672335425.09347146512187; Wed, 21 Sep 2022 05:01:12 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id tRW6YY1788612xBfSCQeuPnW; Wed, 21 Sep 2022 05:01:11 -0700 X-Received: from NAM11-CO1-obe.outbound.protection.outlook.com (NAM11-CO1-obe.outbound.protection.outlook.com [40.107.220.87]) by mx.groups.io with SMTP id smtpd.web08.1867.1663726283584766266 for ; Tue, 20 Sep 2022 19:11:23 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EKbYqNDjyPxH9okJWOdOG9Oj2/GMzu3EcDWI3AXT2QPnJbjMOnEs/GYVKw4wudoq2mfcOXuva4pv10vnJvZh23Y5g8Z7pdIdG5xTykE/qvfJnIpiT8ypiRECow2EJp5BPgIuubgpF7wG0zNgNvJaypbJ3J9tolX1se9Ve7/owWWWoCFggUWjb0rI+qcQZPHLVUA/LDbxSfC/nbNUqcLje8TTWfacvANPT1oePzcX/WTF3AWvpf/renRIpSMIZmO3hE0/bjCE09dAloaPp8PX0/j2RO5JtoBtmqjUtXYD6KxPkpPMV/WPwRNQCgjJGVn+nwZrA9PEh0b1DZnSPYw4jw== 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=m4DnFfIMuWmQOpaLIvG0cPuNjyANKj6XNxuzDHeHGgk=; b=fHV82cyeHZ0Tztffle7ykYQM57iNPwZdSfNjLeh3boFx/H/4yzLr2UGe/NG2TJDfoVHryFXEjBIgezBd+TJIshilLHeZGZfHvrSOkp+Kau7/iVODHPclM9eSZGF2ku2a4aGBAEs3oltpkv2/4K7DuACMNWldofoAqPZHF7PKqNVm+KjNU/cSPUXZnyxCNsiWFlv6sAq0bkePVD/vt0PGap2nwZ3Rm9Jk+TUDia3T2IGg2/To1QwUR8WHam1cbn0sxFYBxPQKCesNU2JgYcSwvNUHgRgeuzNfW48cnsX5knh/0eBxYbFc5LriWgjjFqG32uVcFKYI/L1FgVCVVXBNLA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none X-Received: from BN9PR12MB5305.namprd12.prod.outlook.com (2603:10b6:408:102::5) by DM4PR12MB5988.namprd12.prod.outlook.com (2603:10b6:8:6b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.14; Wed, 21 Sep 2022 02:11:21 +0000 X-Received: from BN9PR12MB5305.namprd12.prod.outlook.com ([fe80::2d3d:180b:df02:3433]) by BN9PR12MB5305.namprd12.prod.outlook.com ([fe80::2d3d:180b:df02:3433%7]) with mapi id 15.20.5632.021; Wed, 21 Sep 2022 02:11:21 +0000 From: "Ying-Tsun Huang via groups.io" To: devel@edk2.groups.io CC: Jian J Wang , Dandan Bi , Liming Gao Subject: [edk2-devel] [PATCH v1 1/1] MdeModulePkg/Core: Fix the potential hang of calling SetTimer. Date: Wed, 21 Sep 2022 10:10:23 +0800 Message-ID: <20220921021023.4009-2-ying-tsun.huang@amd.com> In-Reply-To: <20220921021023.4009-1-ying-tsun.huang@amd.com> References: <20220921021023.4009-1-ying-tsun.huang@amd.com> X-ClientProxiedBy: SI2PR04CA0016.apcprd04.prod.outlook.com (2603:1096:4:197::7) To BN9PR12MB5305.namprd12.prod.outlook.com (2603:10b6:408:102::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN9PR12MB5305:EE_|DM4PR12MB5988:EE_ X-MS-Office365-Filtering-Correlation-Id: affb82a1-4f14-4515-6303-08da9b769391 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: 3dzi4OWuEqqYbko73oY9DhFeWnaD2Y5VdeDbCLA3NsgqEgskstYQbA3R0+08hSpgt+9pYircI0sOJarq0vUZWgXJXEz6MUmnCcUu//8+Bht/Nxdau/EzacgwYsHlMSY8jIADGPZyfMO9sJOJo2PPAsTf4wuY9Q2mXUaPRJ1NO3teBkP8jpIMlXeFz+4Z28p7FcebF7fZIrtBjxLWwOSwcWrRAHZAYNtYbdI/NSVLXvDncrRUux3jPmQVeInLnvWcj5MzaXKhIIDrcneT05iF0IepQdG/xl7GKiuY+mzauLsRBuUvs1XZeJY4ovDdbvZPprupkDSFyRZegtNWcArTZluiNHcbiUEPgPJ5G4f5OAsb/wxRhY7cF8BVodFni+qF2zwzrJF/w5obc/RpElyX8Md7iYQRX+jdWzfUO76CIDeZEVtG7ru0yXHv+Zxn4zGgzmq/RZ5eBqmYtDHnLv1p+UHrNbF1KzJUIQb/ujeimWtQo1lwOzMJXhfeb45FLDWUPZiJqbHA5rm320uepmwKB55c+q3n5JvnPAq0x5ok5uwL7BEcQP9bI8NGh7Coi36Lx+JAmxdscWwYRKsvZ2wmXgFJMy9U0bD9SN9r7DS97RKn8RePC9Y8kOlCrIqeWFvm9YTMlOYiPwrd8Dh81+id3qdTNr1nKqumEFx5kJ9uGYBYu8TQcmeFGEfrdjUadyUDdWaPdJ+na4tvOxl67qjRP/Xoy50nXi8leI5WJM+tEhIjEasfSECmU+CHjmqLQsM/eAK0uxO9Qujon/wos4/L8A== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rj+/1696GXVzxdUs9bSUj+GV/36e2bWkEA63xOHgcwIYCzNHjxTuV43TOqcA?= =?us-ascii?Q?6o/OScHs5NREXf0+7G5bc6oL2nYrr/9DuJER6LI+e8LyjwGpjwmbJWHEhTQx?= =?us-ascii?Q?MGKhsiIsj58A3/lJAdWfKB8WatK1nt89FGR/9NZE73obgwVJpqKo3ObJOtJG?= =?us-ascii?Q?KuCfqE9vvxga1Ayp9p2ANyiHtQz9PJwKkpntS1shDJVzg4vi3zAFzf973R/i?= =?us-ascii?Q?zWj6YnysJXLCSXtFhnmsobhJJ3eLYyxGnDpKlLCd/eypE2QrDffA4xBLRa7K?= =?us-ascii?Q?AKdHUb7Rwoybp50JLMGn14MU4xo9pmsAuh1PfBcOj2tiqS/B+A448brqoSjF?= =?us-ascii?Q?9L8297g8Fi0Cw2TO/I6ccZMoT1pfGTw3bP0F1jn2gHqJa2nEvJv+0bj4xqAs?= =?us-ascii?Q?Fnhkzo/yS61JFCtqW5jA1phFnQKCcpFEW8js/jSPE58NjamrcR2ebq1u4Xb8?= =?us-ascii?Q?49D3cxmtKyG2mq5tfVorMQDh/3XdFNFpxPu1ip45zurqKfc2Qdyu3toAk0eg?= =?us-ascii?Q?HO68MVH2jXgt8yLQThW4xX1xJgykRVmJouLOtZD0Cy5qJ7mhq3it3F9PpIOY?= =?us-ascii?Q?mHyhsCHcvFbcVKyjlws6kqwp9yE7wNE049QToO5+KT/XO4a7ylsttiG+IuDj?= =?us-ascii?Q?/OhxGx6hL5hFaZ5PgSMr9Evn7j/7I3ygLM9IRjrDGr93ZX0fMKXE0GJ2Aq7/?= =?us-ascii?Q?UXO6EFHtWopbsrmjGx501GaOmo/afubpQCh8rlULvviqDVVd3n0wDYWd7SVZ?= =?us-ascii?Q?7BEAk9CfJJTlS3bRIp00Hh7a1aCipjx2FGPCgYGTnfuj2WejVtWg37IogPBx?= =?us-ascii?Q?vT1NTFzysRi4urOlbxKM2iZwCcPlyLJMdTsD6lake5bayup+9jLih8NMe0Ff?= =?us-ascii?Q?QT0ehyopBlIlRutCcexiw74Ef6NgfbWTwimJyXMw/Qg8VKdsJE6pC/fUe2mc?= =?us-ascii?Q?jkMkkTGmccQhwjztUYlUzSqWCmAy73MoNbxLmz91vnmn1VhvVi8Lpx369G3I?= =?us-ascii?Q?Nhz+TZJIF0XzRyINgYDaj2I5oOY/JM9UL93pnf5axuFmVHWgDj9qG6ntuhNB?= =?us-ascii?Q?25u2BRyOdI6lEC/1ePQbMaT2WqLXF76ulqIshdVZ5IOxtyA5QXQWjetqJa0y?= =?us-ascii?Q?YEGFO7EzSNc7kPTWQrU2vauZ0Ix3PMimh/bPd1H6VGeYX89PqiUxeXFgE1DW?= =?us-ascii?Q?npoy6EpvhcK0RWEFntjl8bIG96wHxdPnpy3vnOxxmTBhgnbyIJs2119ALr3e?= =?us-ascii?Q?52uLpqL6rsUgtAsADOOs8gvPCz81JyEH0d1gKr7Py3/iD/0H2j7DLxHOJVe/?= =?us-ascii?Q?e+8roxfleXos3z8/O7+24i3rjVLReAzEBh12yoRmHD4ZjixXIKb/ouKaJWpU?= =?us-ascii?Q?0IQ1LkMGO/e8PFlEtHa8f50Eb8HQlvrzMl14x8GxBJaSTX6PRyRHjdFovJ+w?= =?us-ascii?Q?yP5OeWNrsca75L6ge9Esh0ZiHNfT0zY4Su9wiCwBZdp/JWHcVqNpazSQInsc?= =?us-ascii?Q?/X0KYpHebHrO1wLGtV2e94w5B1SQ14/ui+nDQMgROpdFKX+UpcDF79ZS4KE7?= =?us-ascii?Q?XQO6p8gBS8ay4k9lOHhh2eWL8CezmQlnKCq03+V8?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: affb82a1-4f14-4515-6303-08da9b769391 X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5305.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2022 02:11:21.1821 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wuBfkNUZ/nSgPyT9XEt14lRUBpoy8sBLq1v1tzXiqXp4+rCp/IlTQI8RvTzMdNJMa2RhHDJ4oC3Ziu5mkUjmeQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5988 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,ying-tsun.huang@amd.com X-Gm-Message-State: TsVi0rENnzr5kSAM6HdVbLsxx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1663761671; bh=gFZMH1TSGxMzhgzW8O76+91hO/mIL0J8xlrlVjfNlcA=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=YvK3aT7YZ5VkikcJP51D4G69guFp2I8YbZ+zPOAc7Pkrhos2qZ9MHgGcOVZPruP5E0Y eJodDtXI8ZlR/6RQjSsb37C+ogSvtvmUoHNEYfuBazVX7Vo5hOlEqG78f6kg+ybEkJ8sn 9ukyP4nRzmFVtsAN49MaQQ1+GoSy79F1II0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1663761674477100026 Content-Type: text/plain; charset="utf-8" When calling SetTimer with Type is not TimerCancel and TriggerTime is 0, gTimer is used to get the timer period. However, gTimer is NULL before EFI_TIMER_ARCH_PROTOCOL is installed. Adding the check of gTimer and return EFI_NOT_READY to avoid the hang. Cc: Jian J Wang Cc: Dandan Bi Cc: Liming Gao Signed-off-by: Ying-Tsun Huang --- MdeModulePkg/Core/Dxe/DxeMain.h | 2 ++ MdeModulePkg/Core/Dxe/Event/Timer.c | 14 ++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/MdeModulePkg/Core/Dxe/DxeMain.h b/MdeModulePkg/Core/Dxe/DxeMai= n.h index 815a6b4bd844..acf0b244aeda 100644 --- a/MdeModulePkg/Core/Dxe/DxeMain.h +++ b/MdeModulePkg/Core/Dxe/DxeMain.h @@ -1538,6 +1538,8 @@ CoreCreateEventInternal ( @retval EFI_SUCCESS The event has been set to be signaled at = the requested time @retval EFI_INVALID_PARAMETER Event or Type is not valid + @retval EFI_NOT_READY Type is not TimerCancel, TriggerTime is 0= , but + EFI_TIMER_ARCH_PROTOCOL is not installed = yet =20 **/ EFI_STATUS diff --git a/MdeModulePkg/Core/Dxe/Event/Timer.c b/MdeModulePkg/Core/Dxe/Ev= ent/Timer.c index 29e507c67c50..1621814ef3c5 100644 --- a/MdeModulePkg/Core/Dxe/Event/Timer.c +++ b/MdeModulePkg/Core/Dxe/Event/Timer.c @@ -229,6 +229,8 @@ CoreTimerTick ( @retval EFI_SUCCESS The event has been set to be signaled at = the requested time @retval EFI_INVALID_PARAMETER Event or Type is not valid + @retval EFI_NOT_READY Type is not TimerCancel, TriggerTime is 0= , but + EFI_TIMER_ARCH_PROTOCOL is not installed = yet =20 **/ EFI_STATUS @@ -255,6 +257,14 @@ CoreSetTimer ( return EFI_INVALID_PARAMETER; } =20 + if ((Type !=3D TimerCancel) && (TriggerTime =3D=3D 0)) { + if (gTimer) { + gTimer->GetTimerPeriod (gTimer, &TriggerTime); + } else { + return EFI_NOT_READY; + } + } + CoreAcquireLock (&mEfiTimerLock); =20 // @@ -270,10 +280,6 @@ CoreSetTimer ( =20 if (Type !=3D TimerCancel) { if (Type =3D=3D TimerPeriodic) { - if (TriggerTime =3D=3D 0) { - gTimer->GetTimerPeriod (gTimer, &TriggerTime); - } - Event->Timer.Period =3D TriggerTime; } =20 --=20 2.25.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 (#94068): https://edk2.groups.io/g/devel/message/94068 Mute This Topic: https://groups.io/mt/93824436/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-