From patchwork Tue Oct 22 07:38:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Khrustalev X-Patchwork-Id: 2000320 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=rH/gVZ98; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=rH/gVZ98; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=server2.sourceware.org; envelope-from=libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org; receiver=patchwork.ozlabs.org) 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 (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XXkbK2KBQz1xtp for ; Tue, 22 Oct 2024 18:39:41 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A78CC3858429 for ; Tue, 22 Oct 2024 07:39:38 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20629.outbound.protection.outlook.com [IPv6:2a01:111:f403:2612::629]) by sourceware.org (Postfix) with ESMTPS id 85E9E3858C32 for ; Tue, 22 Oct 2024 07:39:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 85E9E3858C32 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 85E9E3858C32 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2612::629 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1729582760; cv=pass; b=LLCBFMYmnZ4Yj2hiCilUjELvav52k2PY97DRci7zlHnnowwRciVPtcrdBNKx8OZ/57HXvobkL5BvfO2KC2dZXJNv7W3HbEjbtje4/z0z8OabaqT5aNXS6buoavvyul44TnlrA9r6hrbOL7iWqLboRZIioTizPUyE4QNIeywohZ4= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1729582760; c=relaxed/simple; bh=zQCyDfeub0yrrH0Hw+N3tbKjgm/kDAr9MonPXs4ofZY=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=LarZqhjR4DDk87yJsb/vBEIhx2K3WQ6ZIEG5bab7SSVt/5vTPNhpbd3yuD8WaHgo1/3m9iIsUgIg6blXv++LomtVQvFNtUvkY6BAv12Wz7oA7Lvirg6cQXRp1mfQh2ITmzSJIH1KtTuu60EH5F0KhU+BX3fUFQ4rGms3sukqSMk= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=xTMc/lHe1JH4pGU+JpgCt3UTq69TkssxaHI6MK/+yDrc86CRzE2qUcCVE3EG+VNyHcQW3UmdRF9gKc3vJt1WZZc2N/4JyoABU/ZEF+s0g08ir6M9EuHrVRM1Cx9O+kS4MFw5DY1LAqz3wH0tDyhDrE3ad9wiObPP2UZx0pkcICtNIS0eQJrnkQ6CjxakMX7NwfHOMhFfmRkxFOP2LsAR/0rXJGSJ6fA4ggr304hCwBugYqr438A/6Ggf0C5fPq6HHL6uOzppyaSH8sX9YpMHiU6iHGimX6XF1MUHghA4coENTE5dS/pOCdxHUFhEFDwq2lWPj7UUS+Ey+84l2/xL6Q== 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=/hgU8uULIGFsEbG8vF4LuDm+4xVE/JlOakKGOCdvKqc=; b=ZCcSYIvakxAPjulg51GdvePaBhHK+CB6sfGOIaV/dri7GMhphkyZEv37LL0XikhnXO1YsSvTnHqFWgf3khWJpWXfxQOONZFYEgsEEGka/PlYAGj8Iv9xa1aVVzEpfGCUe/LFccR+g0nhpla99l6Q8b04MVXN2xQOtOty/3cVBrjPwFyiu82zzQN2zA2Eytnq6uFLgx3DshxuXt6uWwy14DsCrjkuEUpE9nRPlrOAaOHvU+egyX9KCUNIAEKcnih/tEjL2lUSngQvvmSddGeEO1edX0/bEkKfauUETxMl0z8rHmHZMb8lFhIQpRNqvJg4JN+GN6+tsoyeriJzkNIufA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org 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=0 ltdi=1) 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=/hgU8uULIGFsEbG8vF4LuDm+4xVE/JlOakKGOCdvKqc=; b=rH/gVZ98Er2SuPJjgSN2N9mNZJnTLBuQ9Bj+uQZwxcL2yiIw6RmqE1ogTAHYOhYkA0J5cmh7NjjoZQYAD746NbhOp8OsEoAA/GNhqYQqYMQcyvYU6+3Gp4tFqRx2DoFJlePGoHX9XpyzqZhTy7EgHYF5UINCNKvXOUvoPqFJaaE= Received: from DB9PR06CA0018.eurprd06.prod.outlook.com (2603:10a6:10:1db::23) by AS4PR08MB7878.eurprd08.prod.outlook.com (2603:10a6:20b:51d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.28; Tue, 22 Oct 2024 07:39:05 +0000 Received: from DB1PEPF0003922D.eurprd03.prod.outlook.com (2603:10a6:10:1db:cafe::cf) by DB9PR06CA0018.outlook.office365.com (2603:10a6:10:1db::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.16 via Frontend Transport; Tue, 22 Oct 2024 07:39:05 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) 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 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB1PEPF0003922D.mail.protection.outlook.com (10.167.8.100) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8093.14 via Frontend Transport; Tue, 22 Oct 2024 07:39:04 +0000 Received: ("Tessian outbound 5c9bb61b4476:v473"); Tue, 22 Oct 2024 07:39:04 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 7ddfef8309fb73cc X-TessianGatewayMetadata: Zu5l3FaXFC/C/F9wqVKLMJCtZYC3BaixFN9MHPsJyAIkwdJ2xu5LOyKdQ+bFbzkCObJS9Y7BQEdtiYl6Tym5qAcJsL5O0rkLLNxhx/um11alt0kRt0VXZ7w+6v3720L/AOhaWAp54TY0rOtjLArMqEm5z/3C6AQnF+PF1C+oJDM= X-CR-MTA-TID: 64aa7808 Received: from L45bfece72055.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 227D1963-B194-4ECF-ADBD-60336C2093C6.1; Tue, 22 Oct 2024 07:38:57 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id L45bfece72055.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 22 Oct 2024 07:38:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QoAsVYDlnmQjhiQ58WhltNYrNSFm37e9MzP8XTKhFrgo5k3QoWNxmPq33LVlijLnCTmrv2iBpCINuOCUFysqLRrlZsgrnnXUL8KJWubAZwUQAtKsy+AfBNH3LW1oPEbb3/POWQXrmTyRZkCOsN/UANhL3Grv9USFfvv5WASG1CH4wqm4o9VbG7dE3EOtQ4zCcsILv+0bg3m0yE5RB6Sv1K2doVxJSqdaXXeSh9H1ZeN5qNdmMXM4a4RpSyjk+u78yKO0+Z6pn4fxrelEAp9d68AVJ6n2LAEo7lz0DjyZrsaaZiBoLr5WsIhokrUr9O1jPY6PpeHc+kRsNzRWEWNH5g== 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=/hgU8uULIGFsEbG8vF4LuDm+4xVE/JlOakKGOCdvKqc=; b=XDGDIJ98NFZ9Dc5JBxd6fFeHWw1AeYBHZjt2f2YBCkMKPJM6UmVncCsYIdcK3N1VqBNtQlTam+H8fX68JYLBNnU+QsTnoYFViIrGxi+bTyZkRcrjZwBj6luNaAjQTFHMm2SXbawbWo6i6pIYWWV3c1ABabqko46miIZSpUOCD69ef1dgkwUV/7Q/0JeUIXgYRGPcFqsvhrYJg2RxJ1evak81fcsW8Mi5b0pNVNxXRUvED1PLj4VN/qJHkx8nPhgs4Ual6Pg547A56JA4sXRMdmibhANQ9pAZRKajBp8yvpxMXevi48kcsTTFOgYMDuVsN1hjWYwOnLo6rqzLOkGTxQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 172.205.89.229) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) 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=/hgU8uULIGFsEbG8vF4LuDm+4xVE/JlOakKGOCdvKqc=; b=rH/gVZ98Er2SuPJjgSN2N9mNZJnTLBuQ9Bj+uQZwxcL2yiIw6RmqE1ogTAHYOhYkA0J5cmh7NjjoZQYAD746NbhOp8OsEoAA/GNhqYQqYMQcyvYU6+3Gp4tFqRx2DoFJlePGoHX9XpyzqZhTy7EgHYF5UINCNKvXOUvoPqFJaaE= Received: from DU2PR04CA0063.eurprd04.prod.outlook.com (2603:10a6:10:232::8) by DB9PR08MB9826.eurprd08.prod.outlook.com (2603:10a6:10:45d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.16; Tue, 22 Oct 2024 07:38:51 +0000 Received: from DU6PEPF00009523.eurprd02.prod.outlook.com (2603:10a6:10:232:cafe::e9) by DU2PR04CA0063.outlook.office365.com (2603:10a6:10:232::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.29 via Frontend Transport; Tue, 22 Oct 2024 07:38:51 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 172.205.89.229) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=arm.com; Received-SPF: Fail (protection.outlook.com: domain of arm.com does not designate 172.205.89.229 as permitted sender) receiver=protection.outlook.com; client-ip=172.205.89.229; helo=nebula.arm.com; Received: from nebula.arm.com (172.205.89.229) by DU6PEPF00009523.mail.protection.outlook.com (10.167.8.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8093.14 via Frontend Transport; Tue, 22 Oct 2024 07:38:51 +0000 Received: from AZ-NEU-EXJ01.Arm.com (10.240.25.132) by AZ-NEU-EX05.Arm.com (10.240.25.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 22 Oct 2024 07:38:45 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EXJ01.Arm.com (10.240.25.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 22 Oct 2024 07:38:44 +0000 Received: from udebian.localdomain (10.1.28.136) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Tue, 22 Oct 2024 07:38:44 +0000 From: Yury Khrustalev To: CC: , Yury Khrustalev Subject: [PATCH] manual: Use more precise wording to describe memory protection keys Date: Tue, 22 Oct 2024 08:38:37 +0100 Message-ID: <20241022073837.151355-1-yury.khrustalev@arm.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU6PEPF00009523:EE_|DB9PR08MB9826:EE_|DB1PEPF0003922D:EE_|AS4PR08MB7878:EE_ X-MS-Office365-Filtering-Correlation-Id: d43f600b-c4c6-488e-a1d8-08dcf26c9aba x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|82310400026|376014|1800799024|36860700013; X-Microsoft-Antispam-Message-Info-Original: k7w3QbxQ2XR6RJVwumqJikgXXEIneI/PanDdE9LNgkFMNEFlrvEv9tu06vd93h6+1T5nJv3ogRZ5D3SCyccAuuAxS8i2zxvsbXyGc2Iu9JWYZiq6yNGo3ooVcrMzS/j+UF9G4gLHQe+MWpiBeHQQgG03ev+BdTO2t4ocPMBcHhHn2NXGZoE5BNUItUf3jIsRIlk58MbVomnXwJJ8PvcEQpqt5A+qEJPlwzd+DNS6fEmjLVLR14p81x3S1Ifz+t0yHHw9uQOUp25AKpa4Wu2mGNJ6gXY2akLFNRqD+VHDZKTYW1D+jFXiYfINuvxsiBd1tMxuCd4EN3IhQ2rfhm0R0rNQXqO4WZJdDpnraNXmnzgvhYJ46vgAGwS4MyuqA4FkadUYCawSk8vFwVr86qopdqrVfuT5AI5CcsMxeovPguDsEkO7hhsEVgh49k3gf6yNzDa/QXhA4tP++v77ZqTUvNhGZWbbwkBtRhO/Tia5bTGAnFoCgAsAqJpzRft8FvOsTlc8MANnbEdAjK/xNycGyaJ1SJ+2BXazalI+XrWXNuEOqIt8UmV+Y7grTfJ71ENdJLZ8kq+fJuK75xSeA01TBed/94a43xYW+E/4wA4KToeQfhW8n1zduPne0eJPizBP+G0cDaS1qdMqeZj5+k6nGaiWL6TuQtxUc3oLBLiVXYQ7i7nyy7Wi0G62ZxyA9N8yNlXS6T0VesdU3vzTlOxDNZ0+JQI9uhII4ptI5+ulF2kmgPUuaSyPnpoqLV2mTTXNTTjpZ/u8Ag/jxSK9yi1ieinORVjaHgdpITxJoZ86UC4ZFJnv70+L3vLCm+5cK7Lh3ncrW0Mj56D06M4fU2TB2vAD6HpmhPgbplSJOZ9y/GSTRt73ODvmD6eDIz2k/pJMywS9PCl31YqFEBwDcxdwAbhwIxmu19MRJcvBl7C4Ds3HNzEjCAMmWgdS9nS3os71hEV///ZGh3LXrh3bGSK2gneTTF9pjiAFoxNErGJbskqio0KzQwxj+R2OZUzo9dZYCPC9hlnVQI29d4GyesGfUnMkU3jqELAfWmd607PhtQANmbXTufZ0qEptpQ91uCOTd6FKkAUVe6Evk6NVeQ/4SoFqpFJzDsBolLLMHrInEJbuSl4pZzT7rO66uW5O9zSjC+WvfcTKsCl5V/s5gydYpazHNIOCkDZnm7lqU+KloWYPjhYEXdfwfQjEgx3bFtexRFgCL5WMFB05C+zBKH7vK7IkaDSOIPg+DH5WKT55Cm9dXmouG6MnibDsZWRkjO64YlaDmsphF8A8FqB3xj8il5AY6Thncwh6S4qquydeqJAxsdNIh8L1CsYBiJLFm2+ozFNlZOeRhN1ed9XGmvX38fYh+Spli7ZXFSJnKlgh08Uvlv6jASvHeSwrIBom4nYKduWtnY57j7oBjR60KL6rVA== X-Forefront-Antispam-Report-Untrusted: CIP:172.205.89.229; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9826 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:10:232::8]; domain=DU2PR04CA0063.eurprd04.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF0003922D.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: e11b60ad-b935-4bf5-29c5-08dcf26c92d3 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|376014|1800799024|82310400026|35042699022; X-Microsoft-Antispam-Message-Info: h40t2iAzG6O/Hyg9ySTv0QQM8xXuDv6XgPNBtE/puH03eImhIp78KBABsHOGzhKMLDsFnp4gYrz5oqj6M/eSXHUcQkHgiFHP0okr/iL1nQO+tNCZa/uUnyhN13WFfoR8bO2OXNqliF/MpFBMuByIpY+CHw5RGatOn5tlVaqH6F5nlE9BnzSWv883sdwpwoFrFEjZY4qS+N64qknn+crCEaX0+gdMYqEsKz3TIg0GvjM07Wg6A1bnJtN356BewIjsV0JF4/jclsjST8iXumPiz4OjCI4+AFVncoz5tzWtHRTv4TGblHjbuXTmTNQcSLizKyRO3KbDIuS1UmSIp3WU6DXAXP75i+TRoBD26zxi2a/9Y2/RVQxvO9S/9vzH5/jhfnwyqIz657jGLSOLC0RqiHmHlMn3QVs2wSJxVzidZHHQkpo0t9FbIupGS0zRTVDPEmbzoye1QXryEySBMEvz3+wddR63Spma918/cIQbH0xnxbKoIdjLEmPfQJyZ94E6hjhonG0nR9wDqODK3dYlPc0otFfJUY4RPWa6ayYkeFGs8S3fKFSGyNhoPB/EOtSA8MVkkO7bntY5v7w2yEqIDwhpz1QQpLUO8jbB5Xqj+qFU3QLNsYcT6YpWa+QEXbwrWUfPTK7uRkPbI514TXtMnf9LanqV7WxzatXdS9Tao8Rf9FjWtoGxHhmdQXZ2D9Kb4HOtrqetxaVbFHlni1esTCLgksFB9MFkZgtva4pNh0tnwlw0SwChEtVgKQJ+tQC/H/j+NbkTgSzBnPQN6sBk1/IGG7gHGyz3nEWI83wFeHBfno5ySGgSqdOeR+8i4jFuS3Wi10cNtsXN2wtcnaX0cRsp/JXr9DajncdhA2ZTS7NTP7HEGJgzTQK35CypfLeRUsmaWVhz3T3wS1N4VfL//95/cSMnhJLh7NZojPQ+GCygXRNrJVOzXCYDse58vuGjeUwCFVf08XeNwYOK5G3LmDP0yRenFZI/nABlC/YkhSuxYbqoLJbv/XfnI3Z72BoP/bZNJ3slBnUSPyM/gYCG9LRPdpiIzagNgAWLWw2UyH7chdzhKznQRjEkIYDc00YK/8UPKfp7TI2i+9mKOY8BBi+OYMnKMlqkXTJoUxbuDYCFWywWuOLwiPH3dGYkDM4e48iPRKlbWiT+UaIdjExRFJc2I11xNh26eXJMXUdOO54QpnxsYmQxNqH/xBw95drCmNLAKZsiv7Fy/LCXuTyugNKCGhGsIF4pzwj1xxYnD+siMM0zVMSV9sCpmMIz19jjSTbd8OiQ2obN3/x1kRvmqQ7/n8djCEmhXlIqazJLsJisrFEqNBWw3a26YaE1B4gG3dyIIsFZz1WUILui1rwBHAJF6TTTK3rtmiAJaVgB6wk5dKNlu96ybpLiGVSmU6PWscwNBW5XWBOEFtj/xn7BFg== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230040)(36860700013)(376014)(1800799024)(82310400026)(35042699022); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2024 07:39:04.5923 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d43f600b-c4c6-488e-a1d8-08dcf26c9aba X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF0003922D.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7878 X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY 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: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org Update the name of the argument in several pkey_*() functions that refers to access restrictions rather than access rights: change (access) "rights" to "restrictions". Specify that the result of the pkey_get() should be checked using bitwise operations rather than plain equals comparison. Update corresponding header and function prototypes accordingly. --- Is it OK for trunk? Thanks, Yury --- manual/memory.texi | 52 ++++++++++++---------- sysdeps/unix/sysv/linux/bits/mman-shared.h | 13 +++--- sysdeps/unix/sysv/linux/pkey_set.c | 2 +- 3 files changed, 36 insertions(+), 31 deletions(-) diff --git a/manual/memory.texi b/manual/memory.texi index 58683ee93d..e732272db1 100644 --- a/manual/memory.texi +++ b/manual/memory.texi @@ -3089,27 +3089,27 @@ during memory accesses. New keys can be allocated with the @code{pkey_mprotect}. @item -Each thread has a set of separate access right restriction for each -protection key. These access rights can be manipulated using the +Each thread has a set of separate access restrictions for each +protection key. These access restrictions can be manipulated using the @code{pkey_set} and @code{pkey_get} functions. @item During a memory access, the system obtains the protection key for the -accessed page and uses that to determine the applicable access rights, +accessed page and uses that to determine the applicable access restrictions, as configured for the current thread. If the access is restricted, a segmentation fault is the result ((@pxref{Program Error Signals}). These checks happen in addition to the @code{PROT_}* protection flags set by @code{mprotect} or @code{pkey_mprotect}. @end itemize -New threads and subprocesses inherit the access rights of the current +New threads and subprocesses inherit the access restrictions of the current thread. If a protection key is allocated subsequently, existing threads (except the current) will use an unspecified system default for the -access rights associated with newly allocated keys. +access restrictions associated with newly allocated keys. -Upon entering a signal handler, the system resets the access rights of +Upon entering a signal handler, the system resets the access restrictions of the current thread so that pages with the default key can be accessed, -but the access rights for other protection keys are unspecified. +but the access restrictions for other protection keys are unspecified. Applications are expected to allocate a key once using @code{pkey_alloc}, and apply the key to memory regions which need @@ -3151,14 +3151,14 @@ it again: In this example, a negative key value indicates that no key had been allocated, which means that the system lacks support for memory -protection keys and it is not necessary to change the the access rights +protection keys and it is not necessary to change the the access restrictions of the current thread (because it always has access). Compared to using @code{mprotect} to change the page protection flags, this approach has two advantages: It is thread-safe in the sense that -the access rights are only changed for the current thread, so another -thread which changes its own access rights concurrently to gain access -to the mapping will not suddenly see its access rights revoked. And +the access restrictions are only changed for the current thread, so another +thread which changes its own access restrictions concurrently to gain access +to the mapping will not suddenly see its access restrictions updated. And @code{pkey_set} typically does not involve a call into the kernel and a context switch, so it is more efficient. @@ -3166,9 +3166,9 @@ context switch, so it is more efficient. @standards{Linux, sys/mman.h} @safety{@prelim{}@mtsafe{}@assafe{}@acunsafe{@acucorrupt{}}} Allocate a new protection key. The @var{flags} argument is reserved and -must be zero. The @var{restrictions} argument specifies access rights +must be zero. The @var{restrictions} argument specifies access restrictions which are applied to the current thread (as if with @code{pkey_set} -below). Access rights of other threads are not changed. +below). Access restrictions of other threads are not changed. The function returns the new protection key, a non-negative number, or @math{-1} on error. @@ -3203,7 +3203,7 @@ in which memory protection keys are disabled. Deallocate the protection key, so that it can be reused by @code{pkey_alloc}. -Calling this function does not change the access rights of the freed +Calling this function does not change the access restrictions of the freed protection key. The calling thread and other threads may retain access to it, even if it is subsequently allocated again. For this reason, it is not recommended to call the @code{pkey_free} function. @@ -3251,14 +3251,14 @@ not @math{-1}. @end table @end deftypefun -@deftypefun int pkey_set (int @var{key}, unsigned int @var{rights}) +@deftypefun int pkey_set (int @var{key}, unsigned int @var{restrictions}) @standards{Linux, sys/mman.h} @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} -Change the access rights of the current thread for memory pages with the -protection key @var{key} to @var{rights}. If @var{rights} is zero, no -additional access restrictions on top of the page protection flags are -applied. Otherwise, @var{rights} is a combination of the following -flags: +Change the access restrictions of the current thread for memory pages with the +protection key @var{key} to @var{restrictions}. If @var{restrictions} is +@code{PKEY_UNRESTRICTED} (zero), no additional access restrictions on top of +the page protection flags are applied. Otherwise, @var{restrictions} is a +combination of the following flags: @vtable @code @item PKEY_DISABLE_WRITE @@ -3290,18 +3290,22 @@ function: @table @code @item EINVAL -The system does not support the access rights restrictions expressed in -the @var{rights} argument. +The system does not support the access restrictions expressed in +the @var{restrictions} argument. @end table @end deftypefun @deftypefun int pkey_get (int @var{key}) @standards{Linux, sys/mman.h} @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} -Return the access rights of the current thread for memory pages with -protection key @var{key}. The return value is zero or a combination of +Return the access restrictions of the current thread for memory pages +with protection key @var{key}. The return value is zero or a combination of the @code{PKEY_DISABLE_}* flags; see the @code{pkey_set} function. +The returned value should be checked for presence or absence of specific flags +using bitwise operations. Comparing the returned value with any of the flags +or their combination using equals will almost certainly fail. + Calling the @code{pkey_get} function with a protection key which was not allocated by @code{pkey_alloc} results in undefined behavior. This means that calling this function on systems which do not support memory diff --git a/sysdeps/unix/sysv/linux/bits/mman-shared.h b/sysdeps/unix/sysv/linux/bits/mman-shared.h index d8ed4436b6..44bf52be7e 100644 --- a/sysdeps/unix/sysv/linux/bits/mman-shared.h +++ b/sysdeps/unix/sysv/linux/bits/mman-shared.h @@ -42,8 +42,9 @@ # define MLOCK_ONFAULT 1U # endif -/* Access rights for pkey_alloc. */ +/* Access restrictions for pkey_alloc. */ # ifndef PKEY_DISABLE_ACCESS +# define PKEY_UNRESTRICTED 0x0 # define PKEY_DISABLE_ACCESS 0x1 # define PKEY_DISABLE_WRITE 0x2 # endif @@ -59,16 +60,16 @@ int memfd_create (const char *__name, unsigned int __flags) __THROW; int mlock2 (const void *__addr, size_t __length, unsigned int __flags) __THROW; /* Allocate a new protection key, with the PKEY_DISABLE_* bits - specified in ACCESS_RIGHTS. The protection key mask for the + specified in RESTRICTIONS. The protection key mask for the current thread is updated to match the access privilege for the new key. */ -int pkey_alloc (unsigned int __flags, unsigned int __access_rights) __THROW; +int pkey_alloc (unsigned int __flags, unsigned int __restrictions) __THROW; -/* Update the access rights for the current thread for KEY, which must +/* Update the access restrictions for the current thread for KEY, which must have been allocated using pkey_alloc. */ -int pkey_set (int __key, unsigned int __access_rights) __THROW; +int pkey_set (int __key, unsigned int __restrictions) __THROW; -/* Return the access rights for the current thread for KEY, which must +/* Return the restrictions for the current thread for KEY, which must have been allocated using pkey_alloc. */ int pkey_get (int __key) __THROW; diff --git a/sysdeps/unix/sysv/linux/pkey_set.c b/sysdeps/unix/sysv/linux/pkey_set.c index 30463ef89b..cd1f806803 100644 --- a/sysdeps/unix/sysv/linux/pkey_set.c +++ b/sysdeps/unix/sysv/linux/pkey_set.c @@ -20,7 +20,7 @@ #include int -__pkey_set (int key, unsigned int access_rights) +__pkey_set (int key, unsigned int restrictions) { __set_errno (ENOSYS); return -1;