From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR02-HE1-obe.outbound.protection.outlook.com (EUR02-HE1-obe.outbound.protection.outlook.com [40.107.1.44]) by mx.groups.io with SMTP id smtpd.web12.40745.1589806025774564610 for ; Mon, 18 May 2020 05:47:06 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=nc7VdY0y; spf=pass (domain: arm.com, ip: 40.107.1.44, mailfrom: sami.mujawar@arm.com) 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=m+tWsp7XIdPdxEANOKgTB3eCBGcCR+hVcDVWWTumWAU=; b=nc7VdY0yFuYfL4Wt3yJbO31oLx8TCumhnYaUM4v8CjRRt4uXOtjsIvd3J2VWmbpa1kzMMT5Gze+mlCyF6yxigqJ9XqNthWqCre67WggpA+KX09cpn1nMASVDwsF+ImusTUCI8Pd2WSmmrUtxKsNLCYikkOBteiUtSAREjBQs4sc= Received: from AM6PR01CA0070.eurprd01.prod.exchangelabs.com (2603:10a6:20b:e0::47) by AM7PR08MB5333.eurprd08.prod.outlook.com (2603:10a6:20b:104::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.20; Mon, 18 May 2020 12:47:02 +0000 Received: from VE1EUR03FT053.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:e0:cafe::e4) by AM6PR01CA0070.outlook.office365.com (2603:10a6:20b:e0::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.20 via Frontend Transport; Mon, 18 May 2020 12:47:02 +0000 Authentication-Results: spf=pass (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=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT053.mail.protection.outlook.com (10.152.19.198) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.19 via Frontend Transport; Mon, 18 May 2020 12:47:02 +0000 Received: ("Tessian outbound 5abcb386707e:v54"); Mon, 18 May 2020 12:47:01 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 7cb3f2a5a3d2458c X-CR-MTA-TID: 64aa7808 Received: from c03cdac4df9d.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id BD05367B-0AB7-42A4-8FA7-8D4ECC4F86EF.1; Mon, 18 May 2020 12:46:56 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c03cdac4df9d.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 18 May 2020 12:46:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q7AHVasB002bYP75LFXvMI2eHAOFxBjer4cSN/+MYcXl+MBDRjVdaH2LipUUQCdoaa6m4/QHJTqCqLAdhS2Ars+YvqiOkl2W9ssi4hYgxtpjDTJG6gE+ufPtPHvDvgmMlBCu6d0dRyt3gkhrboTYMRMw2YCHdGwFGIsqRB+SuWqpnmZGtLe5PRJfGcXImLCG1AtgjMXMfGeVKwW7dyLgJso6JMRLY4l4x0gXX9ExlOrLlnmyaVxBAoUEnm6g/5h/44Lx8ku89pQ77x3Snezi+ti/j3wCMVVHNaFYUcuMG3ChvEpP/AgRxKEfLmbY/yfsRQO1Kup8Nx3QvuKMA63IYQ== 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=m+tWsp7XIdPdxEANOKgTB3eCBGcCR+hVcDVWWTumWAU=; b=WTrGYIA0zh9It2B8cmmTfMiW5WlFGuQYSlEWBgQPbn9bHrMkXATKCfnZ6K9RvYwcwbJr2rPYSaf6klPvUwEHvhLGXldt5l0gv2EdXtVYaKm6ge/kPDmgzGNRDoST4y01RLaxJh8pd0Rs5pLS0mWIjl14S5AR9YhOFhR315aWzbnHTWyBlqgB7c1YF3TPRAVG+oWXJkVJl/dizJpV/qK/izHriUc4sI/LAg7SQf4NJ44zhEMItuGNLmAIBBdLoJXYHnbkqUAhR/IxHG/g/6dBpXZTvxiFAF5Dh8RrmmmIrEw9rhC7bsfCkvphfB7y73e34/kWmwIgv/qc0xydndX/+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=bestguesspass 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=m+tWsp7XIdPdxEANOKgTB3eCBGcCR+hVcDVWWTumWAU=; b=nc7VdY0yFuYfL4Wt3yJbO31oLx8TCumhnYaUM4v8CjRRt4uXOtjsIvd3J2VWmbpa1kzMMT5Gze+mlCyF6yxigqJ9XqNthWqCre67WggpA+KX09cpn1nMASVDwsF+ImusTUCI8Pd2WSmmrUtxKsNLCYikkOBteiUtSAREjBQs4sc= Received: from AM6PR10CA0094.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:8c::35) by AM6PR08MB3765.eurprd08.prod.outlook.com (2603:10a6:20b:8f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.25; Mon, 18 May 2020 12:46:53 +0000 Received: from VE1EUR03FT052.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:8c:cafe::8a) by AM6PR10CA0094.outlook.office365.com (2603:10a6:209:8c::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.20 via Frontend Transport; Mon, 18 May 2020 12:46:53 +0000 X-MS-Exchange-Authentication-Results: spf=pass (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=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; Received: from nebula.arm.com (40.67.248.234) by VE1EUR03FT052.mail.protection.outlook.com (10.152.19.173) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.3000.19 via Frontend Transport; Mon, 18 May 2020 12:46:53 +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; Mon, 18 May 2020 12:46:47 +0000 Received: from E107187.Arm.com (10.57.43.215) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.1415.2 via Frontend Transport; Mon, 18 May 2020 12:46:47 +0000 From: "Sami Mujawar" To: CC: Sami Mujawar , , , , , , , Subject: [PATCH v1-resend 1/2] ArmPlatformPkg: Fix UART divisor warning Date: Mon, 18 May 2020 13:46:45 +0100 Message-ID: <20200518124646.45292-2-sami.mujawar@arm.com> X-Mailer: git-send-email 2.11.0.windows.3 In-Reply-To: <20200518124646.45292-1-sami.mujawar@arm.com> References: <20200518124646.45292-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;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFTY:;SFS:(4636009)(396003)(39860400002)(376002)(136003)(346002)(46966005)(316002)(86362001)(2616005)(186003)(26005)(966005)(426003)(82310400002)(19627235002)(1076003)(36756003)(7696005)(5660300002)(4326008)(8936002)(47076004)(6916009)(54906003)(44832011)(70206006)(336012)(70586007)(81166007)(2906002)(8676002)(356005)(82740400003)(478600001)(46800400005);DIR:OUT;SFP:1101; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9993796b-a45a-4afe-dac0-08d7fb298fcf X-MS-TrafficTypeDiagnostic: AM6PR08MB3765:|AM7PR08MB5333: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:241;OLM:241; X-Forefront-PRVS: 04073E895A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: TcON8gfTZp9ktUceYiPXu/ImmAnYU3Y7ZuUrjxmwv2qZU3LxnKvm5ONT0YnpCduBVGExzR4/32bDlNK+SF2zFkU5XSjUCy5W6bjKVd/Z3pgUjV3hQ7Nd786jBp22diPyCKipj39FoT7uvw6KsiALBTJy0LWwHE2lJz6y1ndeMqcjXeYvI/uNyCLpf/acBoG/VduLgknSJegJTbTITJwBxxEq1d6HCdRL9Jpbo1yNP2VnTVqsTV9Lk+mzBVvY9e0mu5REllESOQqs+RBq+BqI7dk5Up8kedgil+JWqPVSs3bhX2fY/f0aEZzm6x6a97Qf3/56o7Rlb8Nt7U7+RzkJhNvasBcvnaZQQnRbj/Kblwo6Hhgm6SqESenZO5VIBQyegtOfA+wDeg0AnWUcnCjNyVre5VlGFmNlaEgtvQop/bpVI8b56HcYHr71Hnrp4qaBgGibTjGRrRjHYLhL7pziTQEgJ77Cqo83slK0+GES5JG1zRQ++Bes+u2Ayhe4BehxVzO+r25nIxtQ14a0I8S49s9T0iHF2h4/1mNCVVrnIbe/cyLSiQ4WoUKMC+OS2lS1eCOgx/IDra2fsNuVt5GSNw5u/K6LLx7Ot+sq3EDnpz6WXJCLgLBd7iy4q5iRUihk X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3765 Return-Path: Sami.Mujawar@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT053.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFTY:;SFS:(4636009)(346002)(136003)(396003)(39860400002)(376002)(46966005)(36756003)(54906003)(1076003)(44832011)(47076004)(81166007)(478600001)(316002)(8676002)(36906005)(8936002)(966005)(186003)(426003)(4326008)(7696005)(26005)(82310400002)(82740400003)(2906002)(86362001)(70206006)(19627235002)(70586007)(336012)(6916009)(2616005)(5660300002)(46800400005);DIR:OUT;SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: f4413106-9ebd-4094-2cdb-08d7fb298a9f X-Forefront-PRVS: 04073E895A X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CKjKwKTLf1l0aiXjM5YHLQHYgy4212f9lkEq86k5PEVJmzOYk2DpiDnYTHmEvzvykvo7yawwBlYvVrejsWKIM925w6V3dwKLbgr8NW4xld7mEouHPyPT43HAlATxE6aa8ZUNQQ+A/sZ704LYGA18aYnijoWGJURXidnqgBTOdFsOaXvxXXwQCAMxkd/YqLz8brfU32Gqtx+Qa6BGGLuLsCp8VyGwMyx8gaHnhq+8y+hFKCUG3GhD+H8FDUpKQT3vLAEp+AL19GK8V4PtX9ORm/niDsPGwVlToszFpP1AkchayZP1DpMA8WOArHvjbrWjIXtb9y1ZxhNknMCogGRsyjBgeuFZVb6SRncK1/RwmBof8apWqVFxbILjjPDi136EcIz2HlNuXWBtSQzpnjzVX2MnFD6r+hHpMQ4yeFsxst0TS85hK8ih2rm0FVwjN6gCH4siBJ0q3A74AdSG/R2B1SZdL3jlIdNb41k+qbzPUhuhykWMtGnYhqwVK1i+BFxx5OQwid0WqXO6JRohIzPwWkpyQ8q2mYZuwKiWzbH+gSpX0beWOAAfW46dVvSmKbRPjHb+AIuc0bhhs5zRSpqfVV3XENDfL4R5S9bzUNYUa5TpDIyQvtEibLt1InA7Mgxo X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2020 12:47:02.0109 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9993796b-a45a-4afe-dac0-08d7fb298fcf 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: AM7PR08MB5333 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 Reviewed-by: Alexei Fedorov Reviewed-by: Leif Lindholm Reviewed-by: Philippe Mathieu-Daude --- Notes: v1: - Fix UART divisor warning reported by VS2017 [SAMI] - Resending patch as part of separate series [SAMI] Ref: https://edk2.groups.io/g/devel/message/46279 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)'