| Message ID | 20241220200501.324191-4-christina.schimpe@intel.com |
|---|---|
| State | New |
| Headers |
Return-Path: <gdb-patches-bounces~patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 63ADF3858C39 for <patchwork@sourceware.org>; Fri, 20 Dec 2024 20:07:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 63ADF3858C39 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=YFigGExh X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.21]) by sourceware.org (Postfix) with ESMTPS id E776A3858403 for <gdb-patches@sourceware.org>; Fri, 20 Dec 2024 20:05:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E776A3858403 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 E776A3858403 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=198.175.65.21 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1734725151; cv=none; b=JTkaDWIF9opTSmrY/Teml+dAUmFpm9Av1H8Dn6fq7of83YbLEMiWUlVUyWin5Xd6wf9+N8bzgx/3gFki3ZsYo/PeUoHlsJkmjhHmpzaJbN7Kk4673Zq8XiaiWBKazUGEyShjRXLqso7WZ3WMI50hI4+zBFYJ9ZPzpwiFZcI67pQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1734725151; c=relaxed/simple; bh=Dh8XS5g+1rdw82V2baxFLCwKAgYvtji0wdmZDL0BAdk=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=ow4sGw8IKxRZUHt2hpafD52BRusJ//UnnGVSixV6P7vlcRQWD1kSYy7Br8sKa/JRLVgqvR0E8LVGeGs8D6okMa9Z6byfEHQyf2CWAeNTUEJYNE1yUiJ7wRrAu0M4xg5HG0d4pc+ULDXvN0agoHUKRx/yBvHfAmTFiUtYD78X5uo= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E776A3858403 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1734725151; x=1766261151; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=Dh8XS5g+1rdw82V2baxFLCwKAgYvtji0wdmZDL0BAdk=; b=YFigGExhBsDGc7xpyva2+Hkj3UiHqzF7mRg+UttPBxGFrbdpi1H7DIV/ swgQB7/mVyWGYh1vQ6GbVed1aGVbZDj5ZVPF9ke27PcO5EN6qOXf1Vb74 p7DPCcFR7R82amDDDBLd51wjbMCpJEVKxlMaW5gufhM+miaQCdTnmIFqL jp83zwsnGT3EiJj3SB5ARzHjA10wQjZoUFTkY8O4dLoBU0SxrG197bCVL 7dgkGL22lxqF98xAxhRYw1RrU4npilJeG/sjUR29R2+zDJKQWXUmgDqAT 6qg1nDpzWTieLocIarFn9LR3k3tWdOZEf3Fj7BFuTSrGRDLmk2Z8xR7k/ A==; X-CSE-ConnectionGUID: 3xmaJCtxRHWr0xrNvjVE1w== X-CSE-MsgGUID: MhPjC5UCTLuIzUrb/q8MKA== X-IronPort-AV: E=McAfee;i="6700,10204,11292"; a="35174349" X-IronPort-AV: E=Sophos;i="6.12,251,1728975600"; d="scan'208";a="35174349" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by orvoesa113.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Dec 2024 12:05:51 -0800 X-CSE-ConnectionGUID: hTG+lGfFSeeCc0t5Qt0Chw== X-CSE-MsgGUID: drSPL6SPTrmPthu9H/AdeQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="121877630" Received: from gkldtt-dev-004.igk.intel.com (HELO localhost) ([10.123.221.202]) by fmviesa002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Dec 2024 12:05:49 -0800 From: "Schimpe, Christina" <christina.schimpe@intel.com> To: gdb-patches@sourceware.org Subject: [PATCH 03/12] gdbserver: Add assert in x86_linux_read_description. Date: Fri, 20 Dec 2024 20:04:52 +0000 Message-Id: <20241220200501.324191-4-christina.schimpe@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241220200501.324191-1-christina.schimpe@intel.com> References: <20241220200501.324191-1-christina.schimpe@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-10.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list <gdb-patches.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=subscribe> Errors-To: gdb-patches-bounces~patchwork=sourceware.org@sourceware.org |
| Series |
Add CET shadow stack support
|
|
Commit Message
Schimpe, Christina
Dec. 20, 2024, 8:04 p.m. UTC
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. --- gdbserver/linux-x86-low.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
Comments
"Schimpe, Christina" <christina.schimpe@intel.com> writes: > 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. > --- > gdbserver/linux-x86-low.cc | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) Reviewed-by: Thiago Jung Bauermann <thiago.bauermann@linaro.org> -- Thiago
diff --git a/gdbserver/linux-x86-low.cc b/gdbserver/linux-x86-low.cc index 6c2688d3678..b023b34a0a4 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; }