From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 4ZunMX7IAWqY5S8AWB0awg (envelope-from ) for ; Mon, 11 May 2026 08:15:58 -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=EB3g6itD; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id C25B51E093; Mon, 11 May 2026 08:15:58 -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 884B91E093 for ; Mon, 11 May 2026 08:15:57 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 041B34BA9000 for ; Mon, 11 May 2026 12:15:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 041B34BA9000 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=EB3g6itD Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azlp170110003.outbound.protection.outlook.com [IPv6:2a01:111:f403:c110::3]) by sourceware.org (Postfix) with ESMTPS id 821194BA799A for ; Mon, 11 May 2026 12:15:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 821194BA799A 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 821194BA799A Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c110::3 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1778501721; cv=pass; b=xxm5SqMj2zoR2Cz4y7BNnlCOH51NfFLfwcPihOClfHXZ1HthMvd1YoD/33oxwiNcMrE7Yt8Z3a/NBQnsKgs6qFoSVidai4ynXztyjFJL62dK0e1soo7nwDvsEcruLbDURkfbZh/4ccDmt1rnuSbf6JAYo5VWnIc73tnBJVFyXag= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1778501721; c=relaxed/simple; bh=LNdLyTL3LyXeKAwDbi3droFiP4H6SxU0wKiyvQhs640=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=oYwELiUB3r52ukIXTTFtlNX5oZYC320qKNnJHfF3GlaKQZxxtsEP7tFtQ+KJzx9j7QUAXGGARB7Ka/GzjN7SQVhVR+kc0oRo1YEC95UFmSECLSZo1+7oVmgoD257AxOWzKorM/plG8ZsRDYkSDccf0mTGj8GPAXKLbk5A8SBmOg= 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=EB3g6itD DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 821194BA799A ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TE7CcBoAkSLIq8SVCp8ZJNp5c1paG6AuvqOFvDbvnKPF6ZKwZ3GfJdm2YKW30cYK7N8Nzbro6WCacHWRtqF6X5Hb8C+qC9AycaHhLPnCDh63d6AkRmZQDKSbFeslnC9tm6GPiJbp6yhsz85zzaxbDQrZpsfiagdQSU+UsWEVT6Ov5Z0olDURFqxZrrcn6RhU5pqWtPSib7O+40kxAPokBXAh+W63zB1e92KZZSmfZ8rUatbMoYjGhU+H2Awm8OXzGBvqfPWKuk7GltTuhJbGQee05yXhQVMPCaKGOdMhzfC/4PPDNIRrLGejxkq5i70OUiipYeDbopE+KjAx/9WvXQ== 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=SHf0Q9YQah6vmklSsnxF+pKTwmqKAngM1pM7lja2+TM=; b=dJ8kb32Al/B7IfEEhx+M1xfJKm1tLQ78/FFNMmufq9Rp2wGA0xdhPiDVhJcxGWdNNclbj+KGYYj0IrPwZpLH3TowLyMdXQse+D+glSFLmFx0Rb4WxUB3erwrCRCj/jH7UoDa/tYnIZbsxgva4QiRCRgEGA08U5Tm8U6yPOSmuhhUqss4jeZCKPpnwgIGMfJxaMy9OQt2sFgLbh3llNSe7AaKZgUGIvhN1em+yoEXut9aJTPi6QiIqLstsQfIOBN3vcWqc5mTlnhMjJ1DmfVtbh3AlDpMSqOk8Cnty86hBgFPvs/HcYwC1GiaB6F4kXrfs8jQ1D3/ZPJ1qb5xzuvmRg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none 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=SHf0Q9YQah6vmklSsnxF+pKTwmqKAngM1pM7lja2+TM=; b=EB3g6itDQgfoLu6hPYUMisBzjcZHG6p3ixcDBVDQ8KQlc+3VvnKoRVpOPn40tPsoL11kXbV7jA16EWRro/+rivTC9bW0T3+Lh+WQFU1XUli7Cp9C28+H265qImD6LHYZ2DB1JzFzQDBmjlyBTDY7oXyeKBJQG1xDqruAFyqkHNQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from CH3PR12MB9079.namprd12.prod.outlook.com (2603:10b6:610:1a1::9) by CH3PR12MB8512.namprd12.prod.outlook.com (2603:10b6:610:158::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.23; Mon, 11 May 2026 12:15:13 +0000 Received: from CH3PR12MB9079.namprd12.prod.outlook.com ([fe80::5a7a:2adf:1862:35c3]) by CH3PR12MB9079.namprd12.prod.outlook.com ([fe80::5a7a:2adf:1862:35c3%5]) with mapi id 15.20.9891.021; Mon, 11 May 2026 12:15:12 +0000 Message-ID: Date: Mon, 11 May 2026 13:15:08 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] gdb/amd-dbgapi-target: assert register size in fetch/store_registers To: Tankut Baris Aktemur , gdb-patches@sourceware.org References: <20260511115826.2891319-1-tankutbaris.aktemur@amd.com> Content-Language: en-US From: Lancelot SIX In-Reply-To: <20260511115826.2891319-1-tankutbaris.aktemur@amd.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQBPR01CA0098.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:3::34) To CH3PR12MB9079.namprd12.prod.outlook.com (2603:10b6:610:1a1::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR12MB9079:EE_|CH3PR12MB8512:EE_ X-MS-Office365-Filtering-Correlation-Id: da430a47-1701-4d48-45da-08deaf56f3b9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|376014|1800799024|11063799003|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: wp2/brysyqv7zrHAEhB/4CZUE3NV0HrLup87xrzwx64Xqo+8tEsn5OINRFmA/Gu4QmlVaCm1fV8MeWJHgqRGG/bZEBlVTWVq3DvxrZeD4tlc2on6jhdz3AjlocOjmv9QTGGzgZF/f2Zg74wEJSkxmOw+X/fBrexVWJncAZm6ddtpVci88KjO8kRnimucJN1ylIO/jWtc7Fw42OcPUanhzyCkKwAsy+QhJ3bzbNsCGxoJBFHKE0TCHtS9qq9srgACZi++WtGhlp/ncoKlKu8VnHmKZQ4omNI3L0pxMqZ8xNUWDTygiqGJhZSqjj5sODDM312NsQ29+C4bAynFuG3NRCgMFYjru60B7WE1Ac6VUG2WcrQgfjzr/A5En+tQKUWoJC6TJn3VjbWLRz1au38Db8ehvlFpaVmpdJ7x4Aei4zOjK9wEIXLBXlxcfnJy/olawVJ+Ppzirf2IzuHpsn/7Ry2+rQ2UiOeEXwTldjkLQYMMtpFGZQrL/8rrNqp8Jg6MDUHnovsZnj4QEPDbC7F6ykB70/Vt1txTYMUUF/JfSeiG+D+Z9roCMUMpI74Odg6dln86DS+PPhizqoqzpLjAl3nSjCmzlk86bna/cZNVjxxVIuSk0c5NiKcvpV5BUQAWAqJ00TP5wdoedRkAH9EFCcWMI+/4Xj1XB5aA8grwlAXVipPs45TUUO2qmWfNcvf2 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR12MB9079.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024)(11063799003)(56012099003)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dHp6ZXM0dWRXaGdKMEJpRUpsMlBBVmpydXNjTHBGRWRqd3ptV3lkckpGZHJq?= =?utf-8?B?eUphL1JHUHdhRWV1TkM4cDBTcEFIOHFCSlNIanBwVDZxVi8vZEcxNE1odlA3?= =?utf-8?B?WFlmUWpIVmIwNnh0aGZjTlFDY1Zibk5QaWp0QWFvZzdoNVI5SmxmOXJwclVR?= =?utf-8?B?ZFMya2lxemJzUHNNQUVWUUV0VXBhS045LzMwTFB1ZTdhVG9hQkFuZVJndFZu?= =?utf-8?B?TkJvdjhQWVhUNGRLVXNYT3lrVFh5eGMvYVBsdHBtQTNHN0lTV3doWHlWSlFM?= =?utf-8?B?UnljOVhobE0yQ3hLQkRLNXBnOU1kMXBIUmRhMEtCWi9RUi9zQUhQYzJOUjgv?= =?utf-8?B?WnYvUVFJOHZiNEdOVkJTeGg3SDBjdDE5ZjRxM0dyYVJaY0xybEZCQ09OU2xo?= =?utf-8?B?K3duRk84bDhBR0swQUlYQUo3enR0ZWE4cDUwZHh1M1hSbUtuZElvb3poaTB0?= =?utf-8?B?ODM0ZWs5ZW02c0ZhQVRaQlBKa2FOWVlOVHZQZ2JuQkVJSXNXUGpLaFBNd2pC?= =?utf-8?B?L01mQi9QNUF5MWZmU29ZZXgzSU9Ic1hHMzQzUE4xeGM4RUVOWDNTa3R6anc4?= =?utf-8?B?bXM0VXN2TWd3SU5KVjZRZ0pjNnQyTERzQnBjb3ovU2RYdWxiWnZWZjNPZUlv?= =?utf-8?B?U1F0Tm9DYW1pbHF4eEJGYzRqRFBSTXFiZ1NCck53QW5OQlZ0S1VER25oUlY5?= =?utf-8?B?ejBsZ0RGTGt6VDJHTGYyU2pGZURiRW5nVTJXb0Vyc3pMMVVBbldoeWhINmdU?= =?utf-8?B?b1BVaHpYaXVSR1hUdmNmOGFlSWgvT1REbDdGMXRRUjZvUnhzcGQrTTdlTEhT?= =?utf-8?B?dzhzNVRPaFlNVmo0RnFUMmNWcVVzZHVhK2wyZEp2V3JITHlyTVJUaHNZQjBh?= =?utf-8?B?T1NRS21JY0NqUHJ3eXRVdmhYRW5pNHd2R1NYcHp5VC9EQTA3YlhxRll3VHN0?= =?utf-8?B?RVhUa3JBeDBuNnhWV0d4YjdIY2hsQXhZajNYWFF2TWl1M3FGcFNEWVlJejRU?= =?utf-8?B?QzFuTWhaaExZQkNxRDNoUlhHM1JiSXZDTG5VQzdjYkRHcUE3TmViNFBnS1k0?= =?utf-8?B?RVlqRW1BQVhhN0xNVytWeTNXNSs1RFNZbmhQZHFNdlhIcmdDeTVBcWcxNUVk?= =?utf-8?B?QkFtOUNRZnFJUFVObnpmMlpaT0doVFVhbWo4Y3ZkRlM3RHVqb2pDY2kxZlRo?= =?utf-8?B?MFhxckFrMCt2SnZkYUR4Slg2QjlFUnR0SnpwOWZoTXFYUGhvT2FNc0w2UFJu?= =?utf-8?B?ckhPamVwNmZLSXJwYjBBUzhNUTNMTzFFREE5TVMvZXZnRDJsNDNqZWpRd3ln?= =?utf-8?B?am1jdjZueHJ1R1FGeHdLYWhTdUFaV3ZrTVdHVVZCek9oVVhoa2pRamRGVWIz?= =?utf-8?B?d0FhQlhzMFI5NkNSL2xIR1Z2TnJ4MWJET1BDa29zZ2Y3d3dnUU5iVHgxN0s4?= =?utf-8?B?T2dobTBEVmxieTYyVnhhZndUaTVNOU1ZUU12ZUxWSjNhUzUyQ1JmWlN6QTAr?= =?utf-8?B?ak5mM2szYjlEU1lNR3BiS3RucTh6U0FhRVRNMlJxYU91NXZYclU5eEpaNk5x?= =?utf-8?B?b2wwOGhBUytPelBZSUJ5WFMvTWxwSW1nU1NVcU1wQlVKSWRScHU3SlZLcUd2?= =?utf-8?B?aHZJVW9FTU1RTGd5K3JlQXFqZGdXSXJKV3ExaUsxSjVQMlRYQVlOUzdRSHJv?= =?utf-8?B?MjNuemxwUWJnNFhERGd3YUpxcllZVE1JemEvVDN0d0t3K3hrb0hYTnZOOTRa?= =?utf-8?B?dEpHMzc5Szd0ZjBsUnN4bXc3aTgyVG0vSkF5SzNBakhDa1pwVmJjbXI5VVZq?= =?utf-8?B?VFowSVBmakFUSDVNeVRxSklpdFRCM3B2cVpFbVArN2Z0dU4wVzlveFR5VXBK?= =?utf-8?B?RU5BMlJjZC94YSs5OEtWSVFwSGdtZWNGWWM0eTRUYW5LSHBxQXJ5WWg2bUNt?= =?utf-8?B?Z0lHcGN4SWZBclNsdmtocVpzN0JmZjFLSUU0MHRWZFo4em1ORi9ISmU3ektS?= =?utf-8?B?eW9KTUs2ZWlKZzBZNjEzbUVZaVV6bkt4blN6bXhiNmRYUUhyeVovNG91cndE?= =?utf-8?B?cG9kSm85N0Z2T3BBWVNrVEhWNnZNL1M0aXlCbVF2LzBySmJkUzNXZUhEYVVo?= =?utf-8?B?MEY0WVQ3Q05NMHMvSXRwSE5zNzFDa090SkJpVmRUMUhXbUVhM1ByemJHTStX?= =?utf-8?B?c1VIa3ZHZHRJQ0cvNWRpZnVrY2NNV21TbzFweFFmRmJZUHRwTTRuU2lJZG9j?= =?utf-8?B?dzJXdEZmOHlWaStnZEVaZFFIVlMrUDlEdVFJdTB5ZzN4ZXpxallFbzAvN2I4?= =?utf-8?B?M3NPdThQN3l2dThkMnlZK2l5MGd5UHZuaytJN2k0OGh3Tm40OEJZUT09?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: da430a47-1701-4d48-45da-08deaf56f3b9 X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB9079.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 May 2026 12:15:12.7119 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: S0qx+zserX4wERdxX5LvNm5FB9zWuP8ZeluF5fFpWjZNVrAM0483PNbVWz4KKPY+FnS1gyHdW4QYg7QlPI8sKA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8512 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 On 11/05/2026 12:58, Tankut Baris Aktemur wrote: > 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)."), Hi Baris, Thanks, this looks good to me, tested on gfx1031. Approved-by: Lancelot Six Best, Lancelot.