From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id UfrhFMnEAWpz4C8AWB0awg (envelope-from ) for ; Mon, 11 May 2026 08:00:09 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=mX9JdwwF; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 4F8D41E0C3; Mon, 11 May 2026 08:00:09 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id C62A51E093 for ; Mon, 11 May 2026 08:00:08 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 78A3B4BAE7E7 for ; Mon, 11 May 2026 12:00:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 78A3B4BAE7E7 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=mX9JdwwF Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazlp170120001.outbound.protection.outlook.com [IPv6:2a01:111:f403:c10d::1]) by sourceware.org (Postfix) with ESMTPS id D01A94BA9000 for ; Mon, 11 May 2026 11:59:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D01A94BA9000 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=amd.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D01A94BA9000 Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c10d::1 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1778500755; cv=pass; b=Kj9WTZNpOdOBIvvciF9c1SyABdBbIr2CLQrx6QtRhr5gXAFo5EPSYTKTWsdLCwA4gZE9LeSC9hUu0CVghpJZN4OnWa0tBMfFmWUGUutWJFHYxkkySvQ5ZNu743sMJGayRGyM+YBZ415cYIUrffcYGWvtUKy7BZd9JbVyJVRUiFQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1778500755; c=relaxed/simple; bh=7joQkwFj6Nqt657d3Z0msHJ1CpDer+LKtcbuSzelVs8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=XaNTo6qQEJJOEnX64jat0JN7FrDeUlBD4v0iP8cAUJpEnYgF4daoalae2F6lvkXMqVMN6jsMybh8V6CNsCboPP3CPpECtq6SGECPX+4JNQwJF9375OJfniCg8tPnszgtfptLxXgBVOnEN0uQyom0Qm5jL2IexIf8T3P/27mb0aA= ARC-Authentication-Results: i=2; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=mX9JdwwF DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D01A94BA9000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Mnh2J3nxL4/a8jBYwW7cv87ug32okvGjsMLwMnKgO5s2+lK71ou/iEJSyvz9EhVimpUzKouVkYn5zuvB3LVJ6XwHMNiCssAZPfbeGEjOc+Xd4VprRosHv8ZbRcqSwuNSHdbWWgvhFaRxPp663QKkI23q0yayCyupE6Tp+dLS5lGbTNgeeOFpdEC6uJY10SHfNM1PYyg+eu9fGkG+GshDiWU/HQj0IVGEQ4B4x5l9BMobuVcohFQAJ2xnfdZ5DujIkUNtfYq2ueC+UclzQLcPV5Rr+yLC0k8ErWGK8OJ/T39DtTEbtEaUMMeg4mzgZsDi9C4n9B71dhKKha6OxIJjrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=sxFZ2RV4BSwSt3dbs07Agceu5E67FP69R34FWjeUUnk=; b=uC5MDKJsB557L8ex9MuHPrxwtgPukxfGChW4yK10NFKRy2RlwVmCQNXDFRXqplLTz8yuF8zMq0UXMSdSlcH+3N02JzyKywFIQFCi2UMVDbsrS8boGpixfcCP8Hxcy9+iMOrlKFTxbkqw35aBHJinBbyCEdftBkC99NHxYT9JMCUngvfdepd7AeS7M5ODXwsFxjzA7Ju/6kl01GwR0CH0Cth4WmbBIXS63Uy5/TgeQnJwkEYEtF/93h0+NlcAvHIX5iCZ1rdI5fiJBuZxlRcYw0CaTLBKovzuND5AX6YLPq3hetUqYQG1zhwX20yBlc8dvVXkGc3NOP66HIjOdYanZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=sourceware.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sxFZ2RV4BSwSt3dbs07Agceu5E67FP69R34FWjeUUnk=; b=mX9JdwwFFohqtnGxgWOyde9bAPX0Ol7Nr09oimwOpt87SCSlV9jmi6xnuKFySUgjuhUOHCPVaW7MajEE9UiK3GvvYLb9xuSxvaajRfiF3pbr2LZ8tdmBskB87L7s8nL8CVSi6C0XmNkvz/Y7s2+oGHO8INhwxWq3M8VF+NDAq3Y= Received: from MW4PR04CA0212.namprd04.prod.outlook.com (2603:10b6:303:87::7) by SN7PR12MB7909.namprd12.prod.outlook.com (2603:10b6:806:340::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.22; Mon, 11 May 2026 11:59:03 +0000 Received: from MWH0EPF000A6730.namprd04.prod.outlook.com (2603:10b6:303:87:cafe::36) by MW4PR04CA0212.outlook.office365.com (2603:10b6:303:87::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9891.23 via Frontend Transport; Mon, 11 May 2026 11:59:02 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by MWH0EPF000A6730.mail.protection.outlook.com (10.167.249.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.13 via Frontend Transport; Mon, 11 May 2026 11:59:02 +0000 Received: from ctr-rack32-mi300x-1.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Mon, 11 May 2026 06:59:01 -0500 From: Tankut Baris Aktemur To: CC: Subject: [PATCH] gdb/amd-dbgapi-target: assert register size in fetch/store_registers Date: Mon, 11 May 2026 06:58:26 -0500 Message-ID: <20260511115826.2891319-1-tankutbaris.aktemur@amd.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000A6730:EE_|SN7PR12MB7909:EE_ X-MS-Office365-Filtering-Correlation-Id: 24ba9f43-e108-492f-d842-08deaf54b1a7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|36860700016|1800799024|82310400026|11063799003|56012099003|18002099003; X-Microsoft-Antispam-Message-Info: BQBOdlf+qm2ecRlD1vge8nf6SHQL1P1A9N49sjSU8KmrNdOKx8o64WW13ux5spZsc9jZgezWsSUsAz8ZfXVM3bYB/mLaRnEkw9AOKWq8mp/4DejHcVlBrtKhjcQCrDg99pqxxKteMs6cVXb1xSA+DQ8bJNtuX0u3KnbFikvj7WxBm0HSB44mX0wDsSRo2W2RIkaz0y1KolQIB25jwoQjgQIIu/B6GUAoQXWePGgNeaQukqgQq66xhfWnSghnk3N+yF1ph8W2AxuihYhZHkhiM/cyWv07W2wylDi9VzED/CIsh8UjuRtRKvAfvkgLBXhwS++5vHJhhRhuouEyx0L2Nlzpoxk61CjaZASdAe/FlsUYXX02vB4R7Bx1AH4TowmgnIydA4fgPf5qCC3eguexPKTWKrt+TsZdPEkAQAwqUxr0KCF8IyuBj0/o+VEG6riuRYLbrbiAM7tjZefIz6eEKQV53i12OMbGh+azqJikEEYcOmpGSgu8Bf0hZrAnHbLAmfd5hB/Wk2/6J2Hzj9Cu1g6c8PlZyriCcwrsujxr3uwLZz1jQYzdxcTk5/G5SjEWuwNKNj3oJjui5VHkoGyLL0Zh3C0o/znPjlRZcILSGBNlBw7YQaD8JN6qKtErVRQbtx+WSSqm+1yMkaC6hv8JZnbn35GoqztL1NDAWolVaHxx7GTymYSIUKi1ozCJF2u7GS3FdAmCUNsMOqOmDchMIy+0nhdYENlSjTnwCFhMOdI= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(36860700016)(1800799024)(82310400026)(11063799003)(56012099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: kni1RKB3T7yZLjQm1/yx7o8UzF+kNBtaC4ux/4DGiaMO1ZhBPYC+NkyuMTP1JoIHbKiPLQGMLQDBr/8/AFVclYx2YqvHslOeaVxVvN8dvcKH3Jq7P3kirHrmqe7GXmUjmkawdW7rhmCeQoXSH94IMlDmBfmjUT4YhzgTccWnnCDm9Mv4Z/0dyB1l2UA8aT1mV9SAbIq+DAaKldiRbeCpKMt/rFmxgrhhyirSuNN5r4BxHhovDrrfQwIP7n27T9osgiwLt2onlqwjH5ob178cn1/Tcu3NlMR+/eKPWD5+OrsIiGj0p00/w0OUcFAMqoRZmMHXgHfTpvWdr00GW0VvYQMMuXNkNmpU6f1+5qpYv/y5OrgAbmOfqxl/pYUSwEYwZa4qsr9teuONE1MIVSt/F2hEzdR4sq5tmVVRV0GYIdm6oSgVp8KDPUrXRsiYiI0z X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 May 2026 11:59:02.4532 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 24ba9f43-e108-492f-d842-08deaf54b1a7 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000A6730.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7909 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org Assert that register size is not larger than the max register size as a safety measure against buffer overflow. --- gdb/amd-dbgapi-target.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gdb/amd-dbgapi-target.c b/gdb/amd-dbgapi-target.c index b7d5ee7de9f..421ec8599ed 100644 --- a/gdb/amd-dbgapi-target.c +++ b/gdb/amd-dbgapi-target.c @@ -1968,10 +1968,12 @@ amd_dbgapi_target::fetch_registers (struct regcache *regcache, int regno) amdgpu_gdbarch_tdep *tdep = get_amdgpu_gdbarch_tdep (gdbarch); amd_dbgapi_wave_id_t wave_id = get_amd_dbgapi_wave_id (regcache->ptid ()); gdb_byte raw[AMDGPU_MAX_REGISTER_SIZE]; + ULONGEST reg_size = register_type (gdbarch, regno)->length (); + gdb_assert (reg_size <= AMDGPU_MAX_REGISTER_SIZE); + amd_dbgapi_status_t status = amd_dbgapi_read_register (wave_id, tdep->register_ids[regno], 0, - register_type (gdbarch, regno)->length (), - raw); + reg_size, raw); if (status == AMD_DBGAPI_STATUS_SUCCESS) regcache->raw_supply (regno, raw); @@ -1994,6 +1996,8 @@ amd_dbgapi_target::store_registers (struct regcache *regcache, int regno) gdb_assert (is_amdgpu_arch (gdbarch)); gdb_byte raw[AMDGPU_MAX_REGISTER_SIZE]; + ULONGEST reg_size = register_type (gdbarch, regno)->length (); + gdb_assert (reg_size <= AMDGPU_MAX_REGISTER_SIZE); regcache->raw_collect (regno, &raw); amdgpu_gdbarch_tdep *tdep = get_amdgpu_gdbarch_tdep (gdbarch); @@ -2018,8 +2022,7 @@ amd_dbgapi_target::store_registers (struct regcache *regcache, int regno) amd_dbgapi_wave_id_t wave_id = get_amd_dbgapi_wave_id (regcache->ptid ()); amd_dbgapi_status_t status = amd_dbgapi_write_register (wave_id, tdep->register_ids[regno], 0, - register_type (gdbarch, regno)->length (), - raw); + reg_size, raw); if (status != AMD_DBGAPI_STATUS_SUCCESS) warning (_("Couldn't write register %s (#%d)."), -- 2.34.1