From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=l1dGDONe; spf=pass (domain: arm.com, ip: 40.107.1.84, mailfrom: sami.mujawar@arm.com) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (EUR02-HE1-obe.outbound.protection.outlook.com [40.107.1.84]) by groups.io with SMTP; Fri, 23 Aug 2019 03:58:37 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CcDOv5yr/k7Xib28G4PTZYxIiRSLlYHnC6d5cleALkE=; b=l1dGDONeRa7kF7+Y50/uAqnDaPouk6cGUbk66sA7yRWHifc2DRXd9xYL2bggdv/3zstu7PkbmYSendcKQ8aB+2LxcZus/LYnNRDFj13FiVChWjq3fJVkv/zaG7yqxSQMoYWYFvhpWLfHVjw9n0dBipZaEKgHW6nDzqxnk6jR6Os= Received: from DB7PR08CA0071.eurprd08.prod.outlook.com (20.176.237.176) by AM6PR08MB4951.eurprd08.prod.outlook.com (10.255.122.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2178.16; Fri, 23 Aug 2019 10:58:33 +0000 Received: from AM5EUR03FT053.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e08::202) by DB7PR08CA0071.outlook.office365.com (2603:10a6:10:26::48) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2199.14 via Frontend Transport; Fri, 23 Aug 2019 10:58:32 +0000 Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=temperror action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT053.mail.protection.outlook.com (10.152.16.210) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2199.13 via Frontend Transport; Fri, 23 Aug 2019 10:58:30 +0000 Received: ("Tessian outbound 4f2e8f9f1994:v27"); Fri, 23 Aug 2019 10:58:28 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 0a6bcfd75bde45ce X-CR-MTA-TID: 64aa7808 Received: from d2c19d536457.1 (ip-172-16-0-2.eu-west-1.compute.internal [104.47.13.54]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id AA9E6A7E-FDDA-41E3-82DF-9E6F8A768284.1; Fri, 23 Aug 2019 10:58:22 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2054.outbound.protection.outlook.com [104.47.13.54]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d2c19d536457.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 23 Aug 2019 10:58:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=auxTMM0ltTY12k3qgn54NZRM3fgpxFMrKb/VJOUaCTdoArvxMzjNBuCfAN4FzgQfvy3ecyhUoNrkAx1qlAqQVIcdWHJtp5HPOVNScu2xtksTD2qccWYmH7hzwSjZ57M0lTVkScEZtW5zh0mfdKeXxPllpVhs5At6wY0G1MIWbmeaEbhvD05fTyaQ7VWEEtdf+v8ft4K/0/RHVTyOKN+hwm/ZBXSZzUWx8b4bjrw0oOCu0Eq1HqifdBpDZzg332QccstLYcgA10rYi8Zr/R13Ji4xSAmSJJmXZSW4li9ytLaI7kdUhhcbSt+e/U3+ZmVaILE2TCcK1xGgQxmMlbC39A== 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-SenderADCheck; bh=CcDOv5yr/k7Xib28G4PTZYxIiRSLlYHnC6d5cleALkE=; b=AcGMlPSMtCjvGA9O/mzZx6joIK7Iabh5+dSBCthNzaMnHWD+dgUzBHKOMvqNvMkJnpyfzBLyhuy6iVwIeOhBh2QLorJ4Lugq0mjsW/N8sSgNgFTX0MOC5fMpdJ96Xmj6Kmeonmli0/yLJ1zf5A8DvpkN1C9JHbqw79K1TDEFXHcpiTiMBtvatyo2PDxYj8VYZKkexibckG1Dn1ydzgsOpAH1qJl1mIWYWcr9v1Ff8bd3K3LR7RUe5N1yvlm4ijAv8tkfqJQLa7S/C0qdPrlT+4W2BAYMPAKDLEiuwYN1nGz16Zi9S4x8Megz0NmuC3S/X236upznVZdc1tzaJDXcZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=temperror (sender ip is 40.67.248.234) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=temperror action=none header.from=arm.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CcDOv5yr/k7Xib28G4PTZYxIiRSLlYHnC6d5cleALkE=; b=l1dGDONeRa7kF7+Y50/uAqnDaPouk6cGUbk66sA7yRWHifc2DRXd9xYL2bggdv/3zstu7PkbmYSendcKQ8aB+2LxcZus/LYnNRDFj13FiVChWjq3fJVkv/zaG7yqxSQMoYWYFvhpWLfHVjw9n0dBipZaEKgHW6nDzqxnk6jR6Os= Received: from AM4PR08CA0054.eurprd08.prod.outlook.com (2603:10a6:205:2::25) by DB8PR08MB4955.eurprd08.prod.outlook.com (2603:10a6:10:38::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2178.20; Fri, 23 Aug 2019 10:58:20 +0000 Received: from AM5EUR03FT045.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e08::209) by AM4PR08CA0054.outlook.office365.com (2603:10a6:205:2::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2199.14 via Frontend Transport; Fri, 23 Aug 2019 10:58:20 +0000 Authentication-Results-Original: spf=temperror (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=temperror action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from nebula.arm.com (40.67.248.234) by AM5EUR03FT045.mail.protection.outlook.com (10.152.17.105) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.20.2199.13 via Frontend Transport; Fri, 23 Aug 2019 10:58:18 +0000 Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1415.2; Fri, 23 Aug 2019 10:56:27 +0000 Received: from E107187.Arm.com (10.1.195.55) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.1415.2 via Frontend Transport; Fri, 23 Aug 2019 10:56:26 +0000 From: "Sami Mujawar" To: CC: Sami Mujawar , , , , , Subject: [PATCH v1 17/19] ArmPlatformPkg: Fix UART divisor warning Date: Fri, 23 Aug 2019 11:55:37 +0100 Message-ID: <20190823105539.13260-18-sami.mujawar@arm.com> X-Mailer: git-send-email 2.11.0.windows.3 In-Reply-To: <20190823105539.13260-1-sami.mujawar@arm.com> References: <20190823105539.13260-1-sami.mujawar@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234;IPV:NLI;CTRY:IE;EFV:NLI;SFV:NSPM;SFS:(10009020)(4636009)(39860400002)(376002)(396003)(136003)(346002)(2980300002)(199004)(189003)(356004)(6666004)(486006)(81156014)(81166006)(53416004)(2351001)(476003)(126002)(2616005)(6916009)(44832011)(305945005)(50466002)(8676002)(19627235002)(54906003)(14444005)(16586007)(47776003)(316002)(50226002)(8936002)(36756003)(48376002)(4326008)(51416003)(53936002)(86362001)(478600001)(1076003)(70586007)(70206006)(186003)(336012)(26005)(5660300002)(76176011)(7696005)(63350400001)(446003)(2906002)(426003)(11346002)(63370400001)(46800400005);DIR:OUT;SFP:1101;SCL:1;SRVR:DB8PR08MB4955;H:nebula.arm.com;FPR:;SPF:TempError;LANG:en;PTR:InfoDomainNonexistent;A:1;MX:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 77ef8cbd-4c2b-40d1-e9ee-08d727b8d58c X-Microsoft-Antispam-Untrusted: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600166)(711020)(4605104)(1401327)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328);SRVR:DB8PR08MB4955; X-MS-TrafficTypeDiagnostic: DB8PR08MB4955:|AM6PR08MB4951: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true X-MS-Oob-TLC-OOBClassifiers: OLM:6790;OLM:6790; X-Forefront-PRVS: 0138CD935C X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info-Original: hy/uzvjM7dSg4J7OtqcpONjAn83DkVWyeAerzrUlEkR5MN+rYdnHG5yLFpiTbXyxyXbWgSxlULJj4HqThl5NfJXrZiXk5+9s4ks4AqVWReJDbTOmQ1BzHhLWhqFnAIqSLgntW7I4EOCxihzJOGumRCXL8DPMIVmrQNL7t4exHB9Bt0WiktmI7MkIiC7NpJN6D991octi2+BTL9CRxViIywmvAlOVVNxocNR7iBsaFcwDRf640Me2uodhXz5qJkroaV0UJmtauCCcAt4ejhmkfWIFxkL0/Oi9YAaWYxrcmjI3BnX4BA58DPpz7aOeH0nb35sfaSOQ32jsLofZVNzPzwxjSvi2/8DrMr0VROpS7eNr2gSXCSAsJWF48n8PW740vOhIypPqoehhyF+RghH8uZ/apAUfiV4RRyTpJHxRnB8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4955 Original-Authentication-Results: spf=temperror (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=temperror action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT053.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123;IPV:CAL;SCL:-1;CTRY:IE;EFV:NLI;SFV:NSPM;SFS:(10009020)(4636009)(376002)(39860400002)(136003)(396003)(346002)(2980300002)(199004)(189003)(6666004)(36906005)(6916009)(16586007)(2906002)(478600001)(50226002)(26826003)(81156014)(8676002)(81166006)(36756003)(1076003)(53416004)(14444005)(5660300002)(4326008)(19627235002)(54906003)(86362001)(76176011)(47776003)(50466002)(22756006)(186003)(51416003)(76130400001)(70206006)(70586007)(7696005)(8936002)(2351001)(11346002)(305945005)(446003)(126002)(336012)(426003)(63370400001)(63350400001)(486006)(476003)(44832011)(48376002)(316002)(2616005)(26005)(46800400005);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR08MB4951;H:64aa7808-outbound-1.mta.getcheckrecipient.com;FPR:;SPF:TempError;LANG:en;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;A:1;MX:1; X-MS-Office365-Filtering-Correlation-Id-Prvs: 5d7a3637-bd3d-4be7-188a-08d727b8ce7b X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600166)(710020)(711020)(4605104)(1401327)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328);SRVR:AM6PR08MB4951; NoDisclaimer: True X-Forefront-PRVS: 0138CD935C X-Microsoft-Antispam-Message-Info: HUpoinm/jorcnopIIvmVX8GP+GKE3zzNNYM40jtj/eyw2GduEAt7VLVbFKLjKRUQ6k/lIkgZQwCucPukjty4TZ9trBFtDZuQ6Vny7SnPXAl/TO8PeS+qT82NxEGw20X9k278qa73rfUSUoinh7mmdHrRy/gmxVD6veoUzxcDXgDncuCjPk7gA3z+JcsAmxsHhG+Ye+Cydb4Doi09wT38TfrwMUREjVemqClYD8py3DYDnqP6Fsuxj5jsRTWKqI7HLdwvk+aTkP/QxQ2J1UwmqfhQV4K4iQ76M42mOJFaUlRP2oMMyFkC0jB8jVpG02APiaH0NfQlY7p0fmFpuGHFn9nIcn4Z8oC9M6bIEGbDGlhMGSBgaY8ofo0TJjsqN/5udwbjJxroaDIwvgfpRm5FoZjg3TueFPGkUcoCpVJP5PE= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2019 10:58:30.5711 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 77ef8cbd-4c2b-40d1-e9ee-08d727b8d58c X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4951 Content-Type: text/plain The VS2017 compiler reports 'warning C4244: '=': conversion from 'UINT64' to 'UINT32', possible loss of data' for the calculation of the UART Divisor value. Fix this warning by adding appropriate typecast and a validation that ensures that the UART divisor value generated does not exceed MAX_UINT32. Signed-off-by: Sami Mujawar --- ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.c b/ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.c index 801990d9551a638c17d560d4226137b8a3ee47bb..2d3c279cce49304959953ec4a34b50e09a7d0045 100644 --- a/ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.c +++ b/ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.c @@ -2,7 +2,7 @@ Serial I/O Port library functions with no library constructor/destructor Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.
- Copyright (c) 2011 - 2016, ARM Ltd. All rights reserved.
+ Copyright (c) 2011 - 2019, ARM Ltd. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent @@ -78,6 +78,7 @@ PL011UartInitializePort ( UINT32 Integer; UINT32 Fractional; UINT32 HardwareFifoDepth; + UINT64 DivisorValue; HardwareFifoDepth = (PL011_UARTPID2_VER (MmioRead32 (UartBase + UARTPID2)) \ > PL011_VER_R1P4) \ @@ -188,7 +189,12 @@ PL011UartInitializePort ( return RETURN_INVALID_PARAMETER; } - Divisor = (UartClkInHz * 4) / *BaudRate; + DivisorValue = (((UINT64)UartClkInHz * 4) / *BaudRate); + if (DivisorValue > MAX_UINT32) { + return RETURN_INVALID_PARAMETER; + } + + Divisor = (UINT32)DivisorValue; Integer = Divisor >> FRACTION_PART_SIZE_IN_BITS; Fractional = Divisor & FRACTION_PART_MASK; } -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'