From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id uoUVI9ebZ2oyfDAAWB0awg (envelope-from ) for ; Mon, 27 Jul 2026 13:56:39 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=B3V/vQPy; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=B3V/vQPy; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 7D3251E033; Mon, 27 Jul 2026 13:56:39 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::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 D9E6D1E033 for ; Mon, 27 Jul 2026 13:56:38 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 53A634BAE7F3 for ; Mon, 27 Jul 2026 17:56:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 53A634BAE7F3 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=B3V/vQPy; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=B3V/vQPy Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013027.outbound.protection.outlook.com [40.107.162.27]) by sourceware.org (Postfix) with ESMTPS id 834EC4BA901F for ; Mon, 27 Jul 2026 17:56:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 834EC4BA901F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 834EC4BA901F Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=40.107.162.27 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1785174970; cv=pass; b=vZnpNySjpDaEk02FXhiT5+M9JyiB40uN58xG2+/oIW5qxDxL6u2KyrYpecUWyn6/u1NSmU+FTCf42XBGRBiYQ3IGzsL5aXza5J7EpmnTopxWZ9RNgeO3fP/NKQZc04UjDB81ZmyZdW3+0wAmHA+XPjfNwVylLzn1OMl2AMTBQRs= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1785174970; c=relaxed/simple; bh=u97P6V1rfLTIzzQQXgYgtJoRv3WCzCf/8mGbhJrERIM=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=A0OKuNOrK8vrKEjHcNDDFn+t32CG07DRK6JQa0nKo5tOUe9dXAllw+j5EyCs1tArlQqm2MTLXox7URAGE1GuGnM0q8+fmC7W711ivgdIdc+48QkMl9ZLvib4yPvkQdveEr7jVSOLWWSuZ3mEf5Wwr7nmFJLZBk+fKEXqUQVOBgI= ARC-Authentication-Results: i=3; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=B3V/vQPy; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=B3V/vQPy DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 834EC4BA901F ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=L7n6iXXs7Es6P75JUzGHW2IRLaRCyCdROYq2hKosapXviK9ocOZdkEHjEO6i7fCpO9hc1djGK5Ih1cKcfkaSgH/Qv3dMaNnBOL51oUcxSCfxAt6yvt8uwMtLxOZkMM0V++uj64PAUFtOWtT2AMNecdlfy9Z0vvwX/8tT7I0R1lS9DIzAsT4uBdaMAWHCeCE05lB9CIMDjdIFEUI8r3+J3sZsioZw3V5M/iGOx4qS79Bnj2k5lk1eawBQeHNA4t3OV4999n/FxdKsJGtZcqrEw1+6Gh2WDb8VVpKQEwRiW3R1ksLMSGL/QHcmnFWRWbwXchV/Qs41xxMaNR9rgaRr4Q== ARC-Message-Signature: i=2; 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=KznIykzaqTPI3RCmJZaXcfBTD4RRsqo9Gq5BwIRVqzI=; b=NXRm7ucJMwqEbM/oREJVmxMla0ghoCpRL5AIUIsnFds4qDFv+3lPvgMlBwYMkhFmEHQiZQMNVh7zy7SegZUt+cNm4YsMQeXJyZHwlWeCtok3Wt6YwW3yOAZdq1Au2A/faQVfoLqmPScXV8hHEKe5f+Nw/XaO+ihE2N8+IRfZCn2epREMJwxB5CcG3uG9vvoVs3dxJibevT8bJJD1OyT/KTC/EqvO/o9YQtYGkiTdAUj34xIm/lywH/Wnu+JZtlyaryF1n8VBcF86BiWG1lhRkT8Kvnzq4GkIkDbLUwdgW5o9krS30pEbGucL+xNG0UF/7IcOoZ2s8jePUI3NzPTvuA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=gmail.com smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KznIykzaqTPI3RCmJZaXcfBTD4RRsqo9Gq5BwIRVqzI=; b=B3V/vQPyVEBLxuIyEpizziKdC7GsHK2fui2jrwXZXLk2MkRXmaYrtc98NRCfpJuLvgR3c3PnlOdjUYR+RgoaOzQjhXtN4SnQwsTHW+1l09kvcVmQi61sPk+gyIeX5vlIIcGIEZgALx2b5ZAZc8oPVLx/DeA7yzoSHUDfJIECPWE= Received: from AM8P190CA0029.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:219::34) by AM9PR08MB6275.eurprd08.prod.outlook.com (2603:10a6:20b:286::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.13; Mon, 27 Jul 2026 17:56:04 +0000 Received: from AM2PEPF0001C712.eurprd05.prod.outlook.com (2603:10a6:20b:219:cafe::44) by AM8P190CA0029.outlook.office365.com (2603:10a6:20b:219::34) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.245.13 via Frontend Transport; Mon, 27 Jul 2026 17:56:04 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by AM2PEPF0001C712.mail.protection.outlook.com (10.167.16.182) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.270.5 via Frontend Transport; Mon, 27 Jul 2026 17:56:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tRagKBJZ+bYJOO+DLtHFHgDt8S1PGxM71cLqW/peGcvyiNCPvOijLPF9siw9PO1JY2ATNglfiQnvYRARXMgEbb9fikh1ugA1zGkUf+PHITINDXF04lC3fvXmPYLmULsnPiqPT6P2ic329rdqu1cicAn9V7OP81b8zY9yYHxXsI1bnfXQCYh0NOL6KE2HNpYZ3Bn4MDPBOePV9KmRD8+1v3FrLUnwRKbA2p+Ix6jhQncy1tFsIBkLvhvDLBRBrc2yRi6tycWyYP49zOw+r4V+PPr7QAoevaBSP2gW9rzjh6n0xjZjurpu/H77JaGrp+6RQKqJvjHsG/1ctElTJ/ZeGg== 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=KznIykzaqTPI3RCmJZaXcfBTD4RRsqo9Gq5BwIRVqzI=; b=qKUapCsQqzbHPIgdK5vJwhIRkj0nls1WD59fXBxWpfxpWKSlZBtwSUpaJQ0gxk6EMd1LPSLbJFNCXeQHQ94TON+gINgN/xN46L2wiC+OfiUtRXqLE9wdeNmGVbUr+z9d3cDFgoxfq5hYbtTxKDz2Cerf1JvbKAPlFYoLEaXHMM5ylMq5yFNdko2NDAT4qoEMap0Wrs1qhvLwxIywsZEL/pXsuriRD+AWXlVp8gVaO6LcxRAMigt1AUWTjC+6owvpV2zzbSvA/8CKfrXh9K1YcSGqQd+L6xHgJiJZn5v1cumiOtvJLfcVmyMpKlc1beZIvTDBDNEAFjWlKbYvsm92oQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KznIykzaqTPI3RCmJZaXcfBTD4RRsqo9Gq5BwIRVqzI=; b=B3V/vQPyVEBLxuIyEpizziKdC7GsHK2fui2jrwXZXLk2MkRXmaYrtc98NRCfpJuLvgR3c3PnlOdjUYR+RgoaOzQjhXtN4SnQwsTHW+1l09kvcVmQi61sPk+gyIeX5vlIIcGIEZgALx2b5ZAZc8oPVLx/DeA7yzoSHUDfJIECPWE= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB8659.eurprd08.prod.outlook.com (2603:10a6:20b:563::10) by GVXPR08MB11058.eurprd08.prod.outlook.com (2603:10a6:150:1f6::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.13; Mon, 27 Jul 2026 17:54:59 +0000 Received: from AS8PR08MB8659.eurprd08.prod.outlook.com ([fe80::96bf:2de3:5eab:70ae]) by AS8PR08MB8659.eurprd08.prod.outlook.com ([fe80::96bf:2de3:5eab:70ae%5]) with mapi id 15.21.0245.012; Mon, 27 Jul 2026 17:54:59 +0000 Message-ID: Date: Mon, 27 Jul 2026 18:54:57 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 09/10] gdb/linux-tdep: parse ProtectionKey in /proc/PID/smaps To: Luis , gdb-patches@sourceware.org Cc: Luis Machado , Andrew Burgess , Yury Khrustalev , Pedro Alves , Tom Tromey References: <20260707154900.94542-1-matthieu.longo@arm.com> <20260707154900.94542-10-matthieu.longo@arm.com> <637710f5-382f-4120-8cc5-23f132e92592@gmail.com> Content-Language: en-US From: Matthieu Longo In-Reply-To: <637710f5-382f-4120-8cc5-23f132e92592@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: LO4P123CA0645.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:296::16) To AS8PR08MB8659.eurprd08.prod.outlook.com (2603:10a6:20b:563::10) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB8659:EE_|GVXPR08MB11058:EE_|AM2PEPF0001C712:EE_|AM9PR08MB6275:EE_ X-MS-Office365-Filtering-Correlation-Id: 3b72aa6c-13fc-4a43-a066-08deec0853f0 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|376014|366016|1800799024|23010399003|6133799003|11063799006|4143699003|10067099003|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info-Original: MH5FPK4RAoPSqdkn+wktVRdV49IFaFwa5Hb+TeAgdsTxKzPh7fLWf50LIWqhXN6xgxrVKDJ5K2PCPbqR/W5Q0knYLb+7JcJ0S2c0TSMuyq89sK7hFy7ZWQBXzkghxfh+qiXg6C6/BufZ9FN8CINIwhPfbbzcJGRFT7vZRvPk/9v9Q9sQwu863qFaU6ZSZeHROy1o3wQGtE2y8ZRVyzP9FatMPS1CBMSTucnmr21swdQTJkp9qg/+w5np4EmXGg7HUSLEJ9LrgCaFQJosXXf7RSY73FDKb82qfmVYE5QWI3mz99EUHfnj51qyW1usiKkhT6J0ZeYTuUWNie+ZAdshIqalX9Z7qpzASGnSWf3NMFyLpWGAhBvv2WIJfW9SCILlp3gYBNZGeWtBzYzGKWzdmz1kr4UxGscVS9neUeZsJMKgeem/TuTZuNav+pxcPpVX1c/5Cdjg7KvAGKJVJpxYNjMynXl1ejLQ+jr0wMbstokdtOmqPx9rRLh48h4j58hOuTPl23aYkMW/jmvWZ427eRU05z9mVhzNrkKzsxX9tlEOmrr//AWUSbPfVr+PUbD4/PgMaKV1Hw4Y+nsgVvqa5aAfACjqt0x0SVVbJ9xG767E4cz8dnwLRyvxNtZF1wddgsoUvFuiI64YWkzQrB4+t7ft9/AEjSlF7BWYEa5ER1M= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR08MB8659.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024)(23010399003)(6133799003)(11063799006)(4143699003)(10067099003)(56012099006)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: G8Z/K0blG6LM39g9sY5eEG0KCs6rSAbsKIJWbMpJUqyb+4s7rWj0aSE9I1hbMbWB/5qIQIVzkkvzz0QyjLjHV/sJs95dUj5CHWona1X+Yl+95N+w9wNR+qrokDFKKebNrrCM2NWZxD+3WD5LsDhkf3oBEA1HKhEaM4EZkopRN37BBSH1GfVVfIG83JPCrF7LOnPm26OlEA+uU3OmLocnQSSOwNwAQbNhgGostX+kZiFsZgMflPam5i+YhEffo4PMHWWtrMC/xk5zoyvfg2Pt9pfyyTZPnVXDdlxas5qZCApg77qm/qEoPD0xiJk6SpyQuCVpidQNCPouFAyGGWochQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB11058 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM2PEPF0001C712.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: e4b8f6e7-db7a-478e-a5cb-08deec082cc6 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|23010399003|376014|14060799003|35042699022|36860700016|82310400026|22082099003|10067099003|18002099003|4143699003|56012099006|11063799006|6133799003|13003099007; X-Microsoft-Antispam-Message-Info: T49ZhJVy0euUNdpl4ITx19lTLujmkgQJ70iOWosnfjwIaOGJMXnmn1SVZVArRM+hr0z27ufnPaaD58Vad/P8lwmP6v9LCIE6aIXs8wfA73/CrdZocQt/ZbupIVQu9wRW1tnIfGBebvdq64+4yhNVRq+z4cDxqR7RKJqF6HVsLtK8z0xrNsl94AlShD4xtpQfpqhYx/RULmX6kx2OAs6nJDEwjPn39uq1dVOV/D5+K5Xu2P6LD0rCroVqGYkGJN3rTi9ldQXBARW0OPxWpk5E9Qhp/3f+A+5hCWXMK48zVbjUXFfxzmm5TPJMKLx6Fa0gzpj5IzGns2A2+zPbZ5yKhGhOYRsXYTwSr5OlYJORSDFKlfr78GkwUowyi6JlEqpwS2gziLBodgqqI7axALEoLoZ7cRHZ1q3UgZ7R5HwlMR0YtZ1Ax7QVN5+1FT7M4GMM4ephatTuSN5gpW+yi889d6/cAqQIWLmGMWzMjwSwROuUGyny9AL+5VmuZ5nDMHifDL5N/dnHFux77xMmrV8XG8AQxAWRONQnrhxDGAWiupNmiartQeoDfWtPwB6D8DA/Z88YInQwL4PYc0dKtiChjQcrikilAiEtewSQyBFR1QxQXKPLxooGFavQr0wGIgg4wecR0k5tp5xGJXGgc/IvLHBUAdCgEOpJxeAuUxuPwZwlEa5jdVeZCLEA+NdUyUJbQoZQrPZld6BxL5DZdoqG2Q== X-Forefront-Antispam-Report: CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(23010399003)(376014)(14060799003)(35042699022)(36860700016)(82310400026)(22082099003)(10067099003)(18002099003)(4143699003)(56012099006)(11063799006)(6133799003)(13003099007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0lOQuOqQa2Vtek+Ed6vBW1CLKmXEP8DGFA5amB6+MuIWKKQdnfs0yb6ZoO2AZI81AeSoW0MSKNdAi10raxid3Jpbk3C/EVl6b8vxgZBuidFxnbS0tW6yG1q3aFJ/248T/3y+u+UK1nRuevB/M7Cnehxs/ODZP3GHwmazJ342CBMf6+i7KUvs8OxoeOxdOrblmt/+PEFqq7o3ZDTRfjhyvSxP9VcQIR1ncETtDwvueW85qXtxkqSg50YdP28m8p3DZ8OxU3rXb1rJiSHTmQXat6Dw5+73KYF4idcDsNfjpE/QtRF+TWQQpqeYDm4XO6I6goDpIH3WwBhdM40zfwADJ7nQDV76ANqro/JLFOWWCBrCdlCmyY/0m+MIDuci+f2iHTqbmDoqc2AmxqlPsDqRiZNSK79Lv/7ugu75R7Othsq9vJZVKsMgqWYAxu5vUT/w X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2026 17:56:04.4429 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3b72aa6c-13fc-4a43-a066-08deec0853f0 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129]; Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: AM2PEPF0001C712.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6275 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 21/07/2026 22:57, Luis wrote: > Drive-by review. > > On 07/07/2026 16:48, Matthieu Longo wrote: >> Memory Protection Keys provide a mechanism for enforcing page-based >> protections without requiring modification of the page tables >> when an application changes protection domains. [1] >> >> The "ProtectionKey" field may be present in /proc/PID/smaps x86_64 >> and AArch64 systems since Linux 4.9, when the kernel is built with >> Memory Protection Keys support. >> >> Add a new 'pkey' field to `struct smaps_data', and populate it when >> the "ProtectionKey" field is present. >> >> This prepares for displaying the protection key in 'info proc mappings'. >> >> [1]: https://docs.kernel.org/core-api/protection-keys.html, >>       https://lkml.iu.edu/1512.0/03058.html >> --- >>   gdb/linux-tdep.c | 13 +++++++++++++ >>   1 file changed, 13 insertions(+) >> >> diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c >> index dbc69a5a7fc..d89c5ae8504 100644 >> --- a/gdb/linux-tdep.c >> +++ b/gdb/linux-tdep.c >> @@ -124,6 +124,7 @@ struct smaps_data >>       ULONGEST rss; >>     ULONGEST swap; >> +  std::optional pkey; >>   }; >>     /* Whether to take the /proc/PID/coredump_filter into account when >> @@ -1553,6 +1554,7 @@ parse_smaps_data (const file_reader_t &freader) >>         int mapping_file_p; >>         ULONGEST rss = -1; >>         ULONGEST swap = -1; >> +      int pkey = -1; >>           memset (&v, 0, sizeof (v)); >>         struct mapping m = read_mapping (line); >> @@ -1653,6 +1655,16 @@ parse_smaps_data (const file_reader_t &freader) >>             mapping_anon_p = 1; >>           } >>           } >> + >> +      if (streq (keyword, "ProtectionKey:")) >> +        { >> +          if (sscanf (line, "%*s%d", &pkey) != 1) >> +        { >> +          warning (_("Error parsing %s's value in {s,}maps file '%s'"), >> +               keyword, freader.c_filepath ()); > > If keyword has the trailing colon this will read... > > Error parsing ProtectionKey:'s value > > ... right? > Yes, you are right. Fixed in the next revision. --- a/gdb/linux-tdep.c +++ b/gdb/linux-tdep.c @@ -1729,6 +1729,8 @@ parse_smaps_data (const file_reader_t &freader) { if (sscanf (line, "%*s%d", &pkey) != 1) { + /* Remove the trailing column when printing the warning. */ + keyword[sizeof ("ProtectionKey:") - 2] = '\0'; warning (_("Error parsing %s's value in {s,}maps file '%s'"), keyword, freader.c_filepath ()); break; >> +          break; >> +        } >> +        } >>       } >>         /* Save the smaps entry to the vector.  */ >>       struct smaps_data map; >> @@ -1672,6 +1684,7 @@ parse_smaps_data (const file_reader_t &freader) >>       map.inode = m.inode; >>       map.rss = rss; >>       map.swap = swap; >> +    map.pkey.emplace (pkey); > > Are we always unconditionally adding a key by design, even when no keys were found? Then we add the > sentinel -1. Or am I missing something? > Yes, my mistake. I should have checked on the sentinel value. Fixed in the next revision. >>         smaps.emplace_back (map); >>       } > > And I agree with Thiago. This patch should live alongside Srinath's series. For the next revision, I actually display the value in the PKey column (no effective permissions or overlay ones in this scope, just the PKey display for any version of Linux that expose it in /proc/PID/smaps) To do so, I refactored the code section in "if (mappings_f)". This refactoring relies on the introduction of file_reader_t, so it would make sense to keep it in this patch series. Please have a look at the next revision. Matthieu