From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id uK6HOyeoX2hkXSMAWB0awg (envelope-from ) for ; Sat, 28 Jun 2025 04:30:32 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=BMX17Jb1; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id E07651E11E; Sat, 28 Jun 2025 04:30:31 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-10.1 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_VALIDITY_CERTIFIED, RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE autolearn=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (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 B1F771E089 for ; Sat, 28 Jun 2025 04:30:30 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EABAE385625E for ; Sat, 28 Jun 2025 08:30:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EABAE385625E Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=BMX17Jb1 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) by sourceware.org (Postfix) with ESMTPS id 8C89F3854A83 for ; Sat, 28 Jun 2025 08:28:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8C89F3854A83 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8C89F3854A83 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=192.198.163.14 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1751099328; cv=none; b=sCQXWDb6FRvZKgAx4o+6bE3xRwZl7lVF8Yxc2WqxYhfq3UnEgOXJj/1VzAtNJH4zDWpnrtJOGM5UuEpEOh1eRnV6YZdMtS6TMAwxFVcLhVfXfuRLHYscO4loUOHJVy63eoNNbhO1R6V1gx83shgzT8lhBdq2scA8yNfX8N15+BE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1751099328; c=relaxed/simple; bh=rgMDrrejtP1Sk9y/w2rnPt/hK5yi4axwnetEXY8Ghlc=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=qdIdUUTsPr9GmUfbPKpBYWQ9PV8jyZOkaezblFnpaaKaT9vBqq8V4gM3Nts/D/pNS/tLFzwmYvyZKzOgtnumDa4UdfB69Px8YuCcmDMAFC/jbCC/NgHVCUvS+NfQlq1Ty4JcM5gUsDZ/85WKLIcQRfw+y5efLIUg84JpZ7Z1qAo= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8C89F3854A83 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1751099329; x=1782635329; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=rgMDrrejtP1Sk9y/w2rnPt/hK5yi4axwnetEXY8Ghlc=; b=BMX17Jb1j2rWLigyubgDf9+oSp2vajSj9e0wIq65CRrSg+Ga+/H9Cklh aXQMC6hnqSAaNleOfBZDApnGcNkOpdb//UejgHHnLUz+YnsWigz5JbDII xx45hVsYdv5OGxXot4/GmQI5o9yoankEO6I7WuGmvGJJ8oIPT9G1jsGuy Uy+E9SwNMcso0fiyJ4LGEOjvVTA9wcxNY+zM31dCxbuhcSIdYiEfJgFuE ySmPK5CLA6Bqdzlz/TovrHrLEMD8lDKEep3ci8eWm2hl/UZKS/fQTeBPl ODddqNF3ExiHJkaytz5mvpCP3y8qLhNtL7RWph938oUV0Z9hff99ISO5w A==; X-CSE-ConnectionGUID: XoQk3dKKQ9yKoGvARBEf+g== X-CSE-MsgGUID: lA0IhJAeTf6N1SlQ8pDNkw== X-IronPort-AV: E=McAfee;i="6800,10657,11477"; a="53491472" X-IronPort-AV: E=Sophos;i="6.16,272,1744095600"; d="scan'208";a="53491472" Received: from orviesa009.jf.intel.com ([10.64.159.149]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jun 2025 01:28:48 -0700 X-CSE-ConnectionGUID: def3CRPqQNuKXipNNj2m5Q== X-CSE-MsgGUID: sJ4G6ZpPSA+Muw3sPBBYFg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,272,1744095600"; d="scan'208";a="152734129" Received: from 0007e934a912.jf.intel.com (HELO localhost) ([10.165.58.208]) by orviesa009-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jun 2025 01:28:48 -0700 From: Christina Schimpe To: gdb-patches@sourceware.org Cc: thiago.bauermann@linaro.org, luis.machado@arm.com Subject: [PATCH v5 03/12] gdbserver: Add assert in x86_linux_read_description. Date: Sat, 28 Jun 2025 01:28:01 -0700 Message-ID: <20250628082810.332526-4-christina.schimpe@intel.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250628082810.332526-1-christina.schimpe@intel.com> References: <20250628082810.332526-1-christina.schimpe@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 x86 the PTRACE_GETREGSET request is currently only used for the xstate regset. The size of the xstate regset is initialized to 0 such that it can be reset to the appropriate size once we know it is supported for the current target in x86_linux_read_description. However, this configuration would not just affect the xstate regset but any regset with PTRACE_GETREGSET request that is added in the future. The new regset would be misconfigured with the xstate regset size. To avoid this we add an assert for unsupported regsets and check explicitly for the note type of the register set. Reviewed-by: Thiago Jung Bauermann Reviewed-By: Luis Machado --- gdbserver/linux-x86-low.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gdbserver/linux-x86-low.cc b/gdbserver/linux-x86-low.cc index 918630d4b61..24920e71a53 100644 --- a/gdbserver/linux-x86-low.cc +++ b/gdbserver/linux-x86-low.cc @@ -894,7 +894,12 @@ x86_linux_read_description () regset++) { if (regset->get_request == PTRACE_GETREGSET) - regset->size = xsave_len; + { + if (regset->nt_type == NT_X86_XSTATE) + regset->size = xsave_len; + else + gdb_assert_not_reached ("invalid regset type."); + } else if (regset->type != GENERAL_REGS) regset->size = 0; } -- 2.43.0