From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (EUR04-HE1-obe.outbound.protection.outlook.com [40.107.7.57]) by mx.groups.io with SMTP id smtpd.web11.29116.1585494856789269627 for ; Sun, 29 Mar 2020 08:14:17 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=7T79z3wy; spf=pass (domain: arm.com, ip: 40.107.7.57, 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=iRAF1ou5H39xV7D9Uxo8WrSN8G0xr9ZzcSf48v/Y41A=; b=7T79z3wyGHcHqO+OQMOiJohoRTy6MtK09tv1fvAznoGTInyNJcjNRnig18rcPGHmvMeRTVUPfP1dWq5wmFioFnzGqCVQHGZCcN+y46d1evoyJHiIb2bvmV+I5k0YnpM0gAqsO4hix1sGfKJQ9GgVjxby4RnSK6Cx5ZH1P1blkJQ= Received: from DB8PR09CA0032.eurprd09.prod.outlook.com (2603:10a6:10:a0::45) by VI1PR08MB4109.eurprd08.prod.outlook.com (2603:10a6:803:e7::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19; Sun, 29 Mar 2020 15:14:12 +0000 Received: from DB5EUR03FT007.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:a0:cafe::78) by DB8PR09CA0032.outlook.office365.com (2603:10a6:10:a0::45) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.19 via Frontend Transport; Sun, 29 Mar 2020 15:14:12 +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 DB5EUR03FT007.mail.protection.outlook.com (10.152.20.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.17 via Frontend Transport; Sun, 29 Mar 2020 15:14:12 +0000 Received: ("Tessian outbound d6b3ed9fc62a:v48"); Sun, 29 Mar 2020 15:14:12 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 8dd5044b1a2b5f5f X-CR-MTA-TID: 64aa7808 Received: from 49857e7ec042.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 77491EB1-21F8-4DED-BFC8-96ECDACEFF8D.1; Sun, 29 Mar 2020 15:14:05 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 49857e7ec042.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Sun, 29 Mar 2020 15:14:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nIrtOZPdVvOF0pMs9KXOMQ+d5mLC6PhVks/iVZUilwMnow+FIoZYAobziTqKTQddRI6XkT5ogmTf4ZBFQJknY/MKT1GabAmYMzWqY0bzITAW3UzWapxmV6cbuLK1teWjw6m3BVb36mHqaJFRqTjXsZjve2nV0tCA63JMNRLqt28DpyppT5POv2lysFIFo3J6KI3LGPyvv67NlCALyN1AfOJjd5PWwrtqK6OtIt4IxHAky9OqVhH3Hv9zK7hH+YyiRp2ewlff8JM+hUklddW1lTHDxP8dQFHi9Y01m+OyKplgKp1aiizntT7F9ukGDUQjHE3LOH2XmTIsB2PAaqjcBQ== 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=iRAF1ou5H39xV7D9Uxo8WrSN8G0xr9ZzcSf48v/Y41A=; b=jOf3fLwWoB6u+p1xwtMMmXoaYbk6GHz3+p8/jAvC8VlukmoN9ayjyZfZXaCDVZIL9f6rnt/kj2C3eLNrxIU5VUWSs5lKOj4pvKcdTgQPKNXEzaOhYN9OTK+t0tQqyiJeWAlcR3V8bg3x/FY+v5e67r7psrJe86ZOUBUm43ynwYFDi/WU7BrnXXM9Nr3rY13kmcQMYBOOGVxQLbJBGx+R5MjjpcmICV86uLZRdSBTJfxYWvqKHxrabihtBgL6Wo4dlcaCvmI5KdH/SHYRW1Z1ow6b7tAOsReG9Ve4VRCXyYuvlO/+GpaZKc2C/vqTMS3PG/N3KcWECUbbHBP9wCExEQ== 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=iRAF1ou5H39xV7D9Uxo8WrSN8G0xr9ZzcSf48v/Y41A=; b=7T79z3wyGHcHqO+OQMOiJohoRTy6MtK09tv1fvAznoGTInyNJcjNRnig18rcPGHmvMeRTVUPfP1dWq5wmFioFnzGqCVQHGZCcN+y46d1evoyJHiIb2bvmV+I5k0YnpM0gAqsO4hix1sGfKJQ9GgVjxby4RnSK6Cx5ZH1P1blkJQ= Received: from AM4PR0902CA0024.eurprd09.prod.outlook.com (2603:10a6:200:9b::34) by HE1PR0801MB1818.eurprd08.prod.outlook.com (2603:10a6:3:7b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.20; Sun, 29 Mar 2020 15:14:04 +0000 Received: from AM5EUR03FT061.eop-EUR03.prod.protection.outlook.com (2603:10a6:200:9b:cafe::93) by AM4PR0902CA0024.outlook.office365.com (2603:10a6:200:9b::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.20 via Frontend Transport; Sun, 29 Mar 2020 15:14:04 +0000 Authentication-Results-Original: 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 AM5EUR03FT061.mail.protection.outlook.com (10.152.16.247) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.2856.17 via Frontend Transport; Sun, 29 Mar 2020 15:14:04 +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; Sun, 29 Mar 2020 15:13:59 +0000 Received: from E107187.Arm.com (10.57.20.21) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.1415.2 via Frontend Transport; Sun, 29 Mar 2020 15:13:58 +0000 From: "Sami Mujawar" To: CC: Sami Mujawar , , , , , Subject: [PATCH v2 06/16] DynamicTablesPkg: Fix GT Block length assignment Date: Sun, 29 Mar 2020 16:13:43 +0100 Message-ID: <20200329151353.14096-7-sami.mujawar@arm.com> X-Mailer: git-send-email 2.11.0.windows.3 In-Reply-To: <20200329151353.14096-1-sami.mujawar@arm.com> References: <20200329151353.14096-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:(10009020)(4636009)(346002)(136003)(396003)(39850400004)(376002)(46966005)(44832011)(426003)(81156014)(336012)(316002)(186003)(54906003)(2616005)(26005)(81166006)(478600001)(7696005)(36756003)(82740400003)(6916009)(47076004)(86362001)(2906002)(966005)(4326008)(1076003)(5660300002)(356004)(6666004)(8676002)(8936002)(70586007)(70206006);DIR:OUT;SFP:1101; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d04e20e3-b80f-4ccb-71bc-08d7d3f3d680 X-MS-TrafficTypeDiagnostic: HE1PR0801MB1818:|VI1PR08MB4109: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:608;OLM:608; X-Forefront-PRVS: 035748864E X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: ZiO0haEaNJ9hVIEl18ZXTUZ4VMzREfZON4IptdJInt1SIu+6iZ/mQtp3E3T4bGFXp3cYAFAljv+SgaJ+98xxhdzJmU12uKXP7b1C8bSuNrq8jL+cYpznn941wpEaVYO8CoL030NgfH38Dq6dFzGe7YqGSi8D52Lmp44wCTpM5kDGc/gSfaCgKpubpbx7i1PBi0f/HhgC6EMCJRJKnpn4mu1Oegp21u+5zz4ZuWAchsKp2lFZJTGu0K1Pi6fT1zK9Jj+ETHFAZMNvZEUbjIHSEaU8EBh+AQ49efRwqBWbhLbeOoKVxoyYKT+9ctAr+P4N/eQmxVPjUGk1+hpkRcPo5PzTB+KBTK4FsLbWc6FjfZaUHAavcl2B+ZPG926oOMWJzl+E3v5xnaqBLiirnb6ZAP0YYrSvk4fEM+x1zCZJQtvFJmI6/9k+9yZ8rMc/OSa6ZEZ+H8TEyarzLU6MJdQRpmf5SeTX0oDuqlr3rCrgQScOVj2rbi1KGZS7YooW20fi9PvEkutcl9UWYZcusN6tIZpWDPnL0t5CkbGMAcFFtUVdH59iNJ9Xv5H1+W3N5OQBgIkzPMYI+o2PgZl/sES2RuGwiAgxOl/S0ynXvTGFIRo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1818 Original-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; Return-Path: Sami.Mujawar@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT007.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:(10009020)(4636009)(39850400004)(396003)(346002)(136003)(376002)(46966005)(47076004)(336012)(4326008)(2906002)(70206006)(70586007)(8936002)(2616005)(1076003)(44832011)(426003)(82740400003)(7696005)(36756003)(54906003)(26005)(6916009)(186003)(316002)(966005)(6666004)(26826003)(86362001)(5660300002)(8676002)(81156014)(81166006)(478600001);DIR:OUT;SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: 56c3bf09-8078-4c9a-7f1d-08d7d3f3d1bf X-Forefront-PRVS: 035748864E X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sIYN44oZn+v/Y/GWRg8H7qunqQsqvuT83+R4lMEtyiTx6wgkQpomMrhE8pOqfY8MY8eL6oXHLYsWjH+DulBcb39kFvxIL0Ymrh5qsFIxX9U2KOlqe1HZGo+FA2Cp7gwOuUMr+G13ODzZwimUJiqqX7dvNNFxLN3uF5wQXx4jps6Hx90lFhSMWroyXj7i/ek47WVBzk3bBRRroFnxzVOXoa1nods8P6hLrD3MirmQGKWbAIGSnqFkveKnrx6yygraVa6fn0r2SVvTk3qkoVugSDsNY4qfZFtSsjL7NP5c0KX522rgBvt0ewJxoIUBes8lyQgaCvNIdVHCA9+NVup+C8u7hNiuT3iFWWDWK87FoKY0Q2M1EPKxx59BPKKYmAE9eVF3UaQ2UP2pG2xi6y2DMF5I5e/UzPLlys3fs0Pa1fjehQTqbM/egK0NefYI1zBCArCrvUycpoQXUddxULuJi32cn4fODUkf/H9b18MUyXJU73DGd1GAHIJx2evVoi54C9DsAkpA/gbftBfwwCQY40EjCrPBQU60AiL9wHXBw3qPPq/QAm+UjqhxjR/HqzKHGGZUzmZqFz2r5498CPIXvfksnRoJyXRJ0wkR8uKKcZM= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2020 15:14:12.5410 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d04e20e3-b80f-4ccb-71bc-08d7d3f3d680 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: VI1PR08MB4109 Content-Type: text/plain The VS2017 compiler reports 'warning C4267: '=': conversion from 'size_t' to 'UINT16', possible loss of data'. The sizeof() operator is used to calculate the size of the GT Block structure. The length field in the GT Block structure is 16-bit wide. Since the return type of sizeof() operator is size_t the VS2017 compiler reports the above warning. To fix the warning, an explicit type cast is added. An additional check is also performed to ensure that the calculated GT Block length does not exceed MAX_UINT16. Signed-off-by: Sami Mujawar Reviewed-by: Alexei Fedorov Reviewed-by: Philippe Mathieu-Daude --- Notes: v2: Splitting patch series and re-submitting DynamicTablesPkg [SAMI] patches from https://edk2.groups.io/g/devel/message/46261 DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c | 25 ++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c index 7e86c30649bd36ecebac75c7e3a86a0c25cd590b..0e996698887aefca8a7240fc27fe3cb9324fd3e2 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c @@ -350,6 +350,7 @@ AddGTBlockList ( EFI_ACPI_6_3_GTDT_GT_BLOCK_TIMER_STRUCTURE * GtBlockFrame; CM_ARM_GTBLOCK_TIMER_FRAME_INFO * GTBlockTimerFrameList; UINT32 GTBlockTimerFrameCount; + UINTN Length; ASSERT (Gtdt != NULL); ASSERT (GTBlockInfo != NULL); @@ -376,11 +377,27 @@ AddGTBlockList ( return Status; } + Length = sizeof (EFI_ACPI_6_3_GTDT_GT_BLOCK_STRUCTURE) + + (sizeof (EFI_ACPI_6_3_GTDT_GT_BLOCK_TIMER_STRUCTURE) * + GTBlockInfo->GTBlockTimerFrameCount); + + // Check that the length of the GT block does not + // exceed MAX_UINT16 + if (Length > MAX_UINT16) { + Status = EFI_INVALID_PARAMETER; + DEBUG (( + DEBUG_ERROR, + "ERROR: GTDT: Too many GT Frames. Count = %d. " \ + "Maximum supported GT Block size exceeded. " \ + "Status = %r\n", + GTBlockInfo->GTBlockTimerFrameCount, + Status + )); + return Status; + } + GTBlock->Type = EFI_ACPI_6_3_GTDT_GT_BLOCK; - GTBlock->Length = sizeof (EFI_ACPI_6_3_GTDT_GT_BLOCK_STRUCTURE) + - (sizeof (EFI_ACPI_6_3_GTDT_GT_BLOCK_TIMER_STRUCTURE) * - GTBlockInfo->GTBlockTimerFrameCount); - + GTBlock->Length = (UINT16)Length; GTBlock->Reserved = EFI_ACPI_RESERVED_BYTE; GTBlock->CntCtlBase = GTBlockInfo->GTBlockPhysicalAddress; GTBlock->GTBlockTimerCount = GTBlockInfo->GTBlockTimerFrameCount; -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'