From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.92.65.31; helo=eur01-he1-obe.outbound.protection.outlook.com; envelope-from=marvin.haeuser@outlook.com; receiver=edk2-devel@lists.01.org Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-oln040092065031.outbound.protection.outlook.com [40.92.65.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id EEB702117923B for ; Sun, 28 Oct 2018 01:51:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/epqN5w0BgMx7Jo4PxMrGwSuush3uqoUozwFa5ances=; b=IukeTylFuVYh7EbWdwjwlZGCEtjx1lO0yjwaBxe6MtAxivAvwlOeDsNh1PGEkSpPc/GXbkcObOS5sx/N+l5TuXrEVdFMo15UOr5KlWk/GWzWVUqiS2paMhFLNeJlaoaGk5HO8vfYyd6u1jEDNYNKx1EMHKWlcLbsr/uf10AbahKS1zNnfF0aGwCsRD9ec9sI1M26HConv9YQTgBxURq4ZYrWazAelxP24C29lQnFXBgLenzEwYKc8O7CwrSpxoIrKLT1PjI0UHGq1mP0ZEBmeK9PbD33vdH/f92sTpMfUP+rcksKqUzRI7L6A5y/lZrvjn+eo6WWxrH0Ygc2uS74ug== Received: from VE1EUR01FT027.eop-EUR01.prod.protection.outlook.com (10.152.2.60) by VE1EUR01HT162.eop-EUR01.prod.protection.outlook.com (10.152.3.223) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1294.14; Sun, 28 Oct 2018 08:51:22 +0000 Received: from HE1PR0801MB1786.eurprd08.prod.outlook.com (10.152.2.53) by VE1EUR01FT027.mail.protection.outlook.com (10.152.2.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1294.14 via Frontend Transport; Sun, 28 Oct 2018 08:51:22 +0000 Received: from HE1PR0801MB1786.eurprd08.prod.outlook.com ([fe80::d077:4763:1d00:a054]) by HE1PR0801MB1786.eurprd08.prod.outlook.com ([fe80::d077:4763:1d00:a054%2]) with mapi id 15.20.1273.027; Sun, 28 Oct 2018 08:51:22 +0000 From: =?iso-8859-1?Q?Marvin_H=E4user?= To: "edk2-devel@lists.01.org" CC: "eric.dong@intel.com" , "lersek@redhat.com" Thread-Topic: [PATCH 1/2] UefiCpuPkg/MpInitLib: Fix ASSERT for success. Thread-Index: AQHUbptmzGJ2yvArtki7DM4DqdFDlQ== Date: Sun, 28 Oct 2018 08:51:22 +0000 Message-ID: References: In-Reply-To: Accept-Language: de-DE, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6PR07CA0021.eurprd07.prod.outlook.com (2603:10a6:209:2a::34) To HE1PR0801MB1786.eurprd08.prod.outlook.com (2603:10a6:3:88::17) x-incomingtopheadermarker: OriginalChecksum:673B04ECEEB97E54799622CBD525775004CD2A42080D897D2DCE46357CFD529C; UpperCasedChecksum:35DCE743B7D5964DC8FDDA2CE11927BFAB69C9D9CA0F7F180153B93C88D4F06D; SizeAsReceived:7583; Count:50 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [5SRv5P7TE6BW2R9J1m260hH3ZN6ZdUYP] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VE1EUR01HT162; 6:4zRZ3raxYtEWi0xTSPgfxEAsEC+V/ApC7IP/rxgOY25q81J2OzgOJhBGlZ+55CMyqOhgpJGjzrrryAJIx2DRab7GQ4EEepcHOrU8nfrAcZo4247n1dWCMM5vmWbt+GoG+iCD/AJvFQXX1RLHwPEQFr0UQXhchcDJMYqIZKTZptEqYzz77btizTl/JwKnWYBNjGtwFu6rZ2kGY73KsDHpy+onl8gDoC526PPlL+PJICd9rTvgeSe4tvFd9DHrbszlROllBR0nCDBbNeRl6drhMgj2mwK1WQRgNm3mVHBYo/C4CZSZzy4KNyXO3Slwi9JKcZ4QAs4WcM8w83k9hQ4p1smwi74OBXKj0PCP0qer1W3lu0QryZQbrfDJeKoHhqrviV+DMYXogK72VyqUJ42n4tuiAnfqFBoXO97oo/tUQtapYCp5A5IGGY99WBwZ25boUqflJtTPF9F3HvGPF9I0hw==; 5:8Q2gom2ms5DghgONAzoaiqBALsgcPfzy9mSh/l4yrsGNhByxZ2jErGCHM5mpAML53v95CeeS45alCXGI7ez5/8Ymc2RtqkHxHfEVPWDp/5G2vCvBkoPVub4zHPqFtQE7207vb/LVvoFZwFv6PrRKp5/yCstvMdcFiL9QLOriWbs=; 7:Zqq+uAw0N/fsNExTouPnUfeBxLMSExjWaA8f9cU1L3MKa7j2ONvd2c8UlMWc57/kwrb5UW3SezumkgcU4/P+vMV9sGDWegWGA/285t7xkP3XsVwhhkXhOfhnomk3RTMkOVXmlquZDIHQ8hcM9uRViA== x-incomingheadercount: 50 x-eopattributedmessage: 0 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322404)(1603101475)(1601125500)(1701031045); SRVR:VE1EUR01HT162; x-ms-traffictypediagnostic: VE1EUR01HT162: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(4566010)(82015058); SRVR:VE1EUR01HT162; BCL:0; PCL:0; RULEID:; SRVR:VE1EUR01HT162; x-microsoft-antispam-message-info: glcAgaU1KZjx1NWCPajTLkA62RzYJetFASd8+drLo0ttWe5xG3XbUgiexWuJjPmb MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 7181d4b0-87d6-4f4e-ba33-0d3746212cec X-MS-Exchange-CrossTenant-Network-Message-Id: 473d8086-432b-45ab-cae0-08d63cb28820 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 7181d4b0-87d6-4f4e-ba33-0d3746212cec X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Oct 2018 08:51:22.2133 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1EUR01HT162 Subject: [PATCH 1/2] UefiCpuPkg/MpInitLib: Fix ASSERT for success. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Oct 2018 08:51:26 -0000 Content-Language: en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Index is initialized to MAX_UINT16 as default failure value, which is what the ASSERT is supposed to test for. The ASSERT condition however can never return FALSE for INT16 !=3D int, as due to Integer Promotion[1], Index is converted to int, which can never result in -1. Furthermore, Index is used as a for loop index variable inbetween its initialization and the ASSERT, so the value is unconditionally overwritten too. Fix the ASSERT check to compare Index to its upper boundary, which it will be equal to if the loop was not broken out of on success. [1] ISO/IEC 9899:2011, 6.5.9.4 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marvin Haeuser --- UefiCpuPkg/Library/MpInitLib/DxeMpLib.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c b/UefiCpuPkg/Library/M= pInitLib/DxeMpLib.c index c17daa0fc0da..b2307cbb618d 100644 --- a/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c +++ b/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c @@ -236,7 +236,6 @@ GetProtectedModeCS ( UINTN GdtEntryCount; UINT16 Index; =20 - Index =3D (UINT16) -1; AsmReadGdtr (&GdtrDesc); GdtEntryCount =3D (GdtrDesc.Limit + 1) / sizeof (IA32_SEGMENT_DESCRIPTOR= ); GdtEntry =3D (IA32_SEGMENT_DESCRIPTOR *) GdtrDesc.Base; @@ -248,7 +247,7 @@ GetProtectedModeCS ( } GdtEntry++; } - ASSERT (Index !=3D -1); + ASSERT (Index !=3D GdtEntryCount); return Index * 8; } =20 --=20 2.19.1.windows.1