From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010013.outbound.protection.outlook.com [52.101.69.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 027783ACA43 for ; Wed, 8 Jul 2026 20:57:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.13 ARC-Seal:i=3; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783544243; cv=fail; b=RevUgH5z/ERdOGOL4mIdtxLlgZHpjhDOwL4AfFoFsm/matMfXkQMuvYPTm2zZpdjZEYzd2hfWxWlcESoQdjVhKXndqD20J6/VMFswL3Vy206o4S/5M/mRGsQcA9skCcbrt8VvAM3D1eCzyAsAHbO/Oc8tAbmwiupSVIR9fmwjUw= ARC-Message-Signature:i=3; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783544243; c=relaxed/simple; bh=DurbxgLT9taDT+lJS2nT6g1A3Gwc3AbaVBnjTIUy/Ng=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=o3PKkim59IucBfEQ0h7p1ykER0KTbRHgXVqZZSwGhrnNTI0j55q+yFK1ejYqryV83oWQrMgzbohhh6NlXNJepq9thNQdSTwZPy4pP5B2QOQGCZJzZeyc7cbAKSNs2e9mmsdrOz/8prmgVzp7wgy9yH7ufS1zKoInyllZHugq/HY= ARC-Authentication-Results:i=3; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=AQPDkFCQ; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=AQPDkFCQ; arc=fail smtp.client-ip=52.101.69.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="AQPDkFCQ"; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="AQPDkFCQ" ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=EJMHvUS2Kd2n087OnXaRXw38Zu/sUB8Y784wkCr17fzHZMro5C2q8dGBBM4nZ3VBefUxxqu72OwMMtR13hpCvlLijzhugeHGb1c3j/da0Wqg57lfD0QQnRo1LyOMZkEBs2/LgfU5bMfuQsFaRUy3NxIp7ELLfQo/OnPjSAEiK1X4lDiMBTflfZXuf6pZy1NmNGtQifLB5LDbY9riBjdGTIA2V7FQKOgoY5kkkNc8ROu+UW9DI9HL4sFKmmEvz+DwMXzT4NkLKYgZ3XboYBheZLNb1+6MgRt1taE3npV3J1ed/PbFI+zAISHv/ZkqppRvmWoiBFoP+m2NISPVMOLHdg== 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=9c6ebMTOH18s+31SLzLLQ86G6xSRv1k7RRjYg+sfn8E=; b=UMtcvMyeshyRBXYFbPjsmwSA5uyYYYf42KQvBHKqHjQHSuH5roSqKsp3fsx0UIbW3nnDfa26/hP6/yW7cEAClYwWyV1XbaywZRw6z8H82IkZndXeMEH4ZeMtN2zSDXaCokbITgTdO3iOZypTUMY3c4k31d+FfVD5/iMgjpJ+vGiOfXX8Q+bgkt5mJU6NEyV0Q7J25H0p8gvrPxu81N0YcPYNjOxyWrW0saM0dyhf5tVm9iIUgyVyDjcM+XK7Chsbh+nuQStF60SUfhwPekmRSdl6jVXhUgK49gNFmfLv5kSNeS2P/uBic8ZQqXVPhisxXczzqKftIhNgwHfCXphY/Q== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=intel.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=9c6ebMTOH18s+31SLzLLQ86G6xSRv1k7RRjYg+sfn8E=; b=AQPDkFCQSF1b8svyCdT5gQu81Uquf9WhpbnP6QMaLVeM+erPBtcxmcPl4HmgciaQB/jZfWDEzB+Q7sDjGUxTlocTeToZ+NH18U0wPH/vHCyk1UKpm6OU+qI+EsCrYlGyg40v045levZhg4riupzyzdmcOBxB9qXNW7vHyQlSL/I= Received: from AM0P309CA0005.EURP309.PROD.OUTLOOK.COM (2603:10a6:20b:28f::26) by AS2PR08MB8879.eurprd08.prod.outlook.com (2603:10a6:20b:5f6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.11; Wed, 8 Jul 2026 20:57:12 +0000 Received: from AMS1EPF00000046.eurprd04.prod.outlook.com (2603:10a6:20b:28f:cafe::70) by AM0P309CA0005.outlook.office365.com (2603:10a6:20b:28f::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.223.3 via Frontend Transport; Wed, 8 Jul 2026 20:57:12 +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 AMS1EPF00000046.mail.protection.outlook.com (10.167.16.43) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.181.6 via Frontend Transport; Wed, 8 Jul 2026 20:57:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=zWBcoCMlsSjw21kS+z88e59b2YzMcgXaPmwA+NyaptDRrEdddZloNlEAuZZMd+YAXnjTKdfyq+/V+IBnoIzb5kMSPz/HhF3i3ghzKHsZ+L8FsYMgUd+tKHLonEpDsvAy3Fa6C7vcnj4PdjgwrCdoY5xn2o/Q97TIUbdJpmhvvVrdgDC9S8Tr+ssdBkO5wtjhPy1oF9DmN0MWmls0JcI5ctyUHdWoOfYkrhfNDu12qCvSBHzKWJciO6l4T52te3eTAo8wSs+q6j8/o3K6NHjVtIfXOo77UoRCgmhbU38R3R1uFsU7OFM+H9rOBxvImAUT9sRha/Q/WPhUTq9vhp3cyg== 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=9c6ebMTOH18s+31SLzLLQ86G6xSRv1k7RRjYg+sfn8E=; b=kcRYNiPcvTq06A4bPBRaPqOwq1fk+FSRnP5d01g9jF+CbYR37Yl1yzN5qrPeNTQ28zGozxBRfWahmUDZHvRumpkr0neTwFjqBVv1ZU6BpKT4y8lvBam8UmlrN4dmimhBEk/j/FZkoqzaXmblX3lbe3lvaQS3WaTx/ssFOxPF5rh0/6LwZK9g8Hn436d3eDP00F1nEeASJywDyUmybyJVZIrkTgFhX4ghCEtQ2sHO15aq5OSz7S0meUNnQhaYIR+ocbGV0hSfUhhx72S/zw9hKUTfA8u1oKGsmPm2uJd5BVu34YYR7NpSAb48XOmo7RwNMPQaQ2Iyb5ZZepMaW2OhEA== 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=9c6ebMTOH18s+31SLzLLQ86G6xSRv1k7RRjYg+sfn8E=; b=AQPDkFCQSF1b8svyCdT5gQu81Uquf9WhpbnP6QMaLVeM+erPBtcxmcPl4HmgciaQB/jZfWDEzB+Q7sDjGUxTlocTeToZ+NH18U0wPH/vHCyk1UKpm6OU+qI+EsCrYlGyg40v045levZhg4riupzyzdmcOBxB9qXNW7vHyQlSL/I= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from PAWPR08MB9829.eurprd08.prod.outlook.com (2603:10a6:102:2e6::10) by AM7PR08MB5302.eurprd08.prod.outlook.com (2603:10a6:20b:103::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.11; Wed, 8 Jul 2026 20:56:09 +0000 Received: from PAWPR08MB9829.eurprd08.prod.outlook.com ([fe80::5cca:dab9:827e:c7bc]) by PAWPR08MB9829.eurprd08.prod.outlook.com ([fe80::5cca:dab9:827e:c7bc%5]) with mapi id 15.21.0181.014; Wed, 8 Jul 2026 20:56:08 +0000 Message-ID: <0d639fcc-4bb1-46a5-825d-beb803b8f3e7@arm.com> Date: Wed, 8 Jul 2026 15:56:03 -0500 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] x86/shstk: shadow stack enabling write return code change To: Dave Hansen , rick.p.edgecombe@intel.com, Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" Cc: linux-kernel@vger.kernel.org References: <20260707184542.1721085-1-bill.roberts@arm.com> Content-Language: en-US From: Bill Roberts In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SN7P220CA0023.NAMP220.PROD.OUTLOOK.COM (2603:10b6:806:123::28) To DU0PR08MB9824.eurprd08.prod.outlook.com (2603:10a6:10:443::18) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: PAWPR08MB9829:EE_|AM7PR08MB5302:EE_|AMS1EPF00000046:EE_|AS2PR08MB8879:EE_ X-MS-Office365-Filtering-Correlation-Id: 0d76b6f9-e083-46ed-1ee1-08dedd337ba9 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|23010399003|376014|366016|1800799024|22082099003|18002099003|4143699003|56012099006|3023799007|11063799006; X-Microsoft-Antispam-Message-Info-Original: v/WbVOkNTUlOzYKvtwwrw5ZihxhJSYtOw0xSnt3GJuBqAbQ1ubVaG5o1vbICZ4ZVACYfRdn0dVNWOGGqZsEbifocN3PytRTec0tMz/SzEMqpG3rFJs32YVKEjL5DrPyyI/LRxPzaMSFBwr0nQGUFdPIfcGBCXlpAtEM+Iq25i8dEAQ7dWxLoz5a4hwKG/yb9Lb9D5Z3r3biAeWidS1Q3zcuS9yfut4ucQmSysTi52VBeNioYyjH86dIsXNRWohhqvFqhjmzhN2ScHoDCufY+D6owanuAHw43c71cA9HpOq7UuQd6OloCm9EDqAGcGtMXWJWwp2JfQP6EiuLnGkkT0LNielZFjKY+3o+h33uSvSH6uv0ymVcUc/xt0+Xz7NRzlTaCz6emT2w0ra26z/tj80incoyPUxpx63GNRK8BzzRFk91Zv2yrOBaiMe+kBo30fwehpMbe0LAjp5cpQLvkKv2MYk6IZRkizHJsKFFVl5n14I1DQ9yadfK3nJ/WXfKn7eWdrltOxK/lbPjeBMrsPfOzOTvKgV5CErtGRMVTP1Vpnp+iLhRsQ/AZFqh3ER4v85z8MVJtxd2ZOtm6SGB40OWpZANm9eJUvSMPUbTcl43fDr5ulfvlxu+pOAOSBV4NVA2zKdWgBCHnsEKl0hSjrcxkSJsgl5yWDp+67rErYT0= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAWPR08MB9829.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(366016)(1800799024)(22082099003)(18002099003)(4143699003)(56012099006)(3023799007)(11063799006);DIR:OUT;SFP:1101; X-Exchange-RoutingPolicyChecked: pGrXEXwxMijdBo4rNsU6pS/wtJMhOI1eapYHhoYig/6nXGEgnzjUg66eMcg33+X7Dkuz0VTZKieUqqPEBNqVZC8XYkz1yaA+T7A8sLcYsanVhqHi+nH+XwHcGiRAAJ46vV0yadqUBj28t/cAhelBdJT6bMpFJQpKEIBrMlmYcYlpd9DNn+rI15c1mUDYfgC0XGSWG8zbU7bGeu10lowy7FVII/mnzzLllJgZ3TgUJ5KXldTFsts52ROne0dl21Q0T2HWXT2iPctG0PiHO3tMXXGokbAaV29NbxMdduhokcAjervU9jOxRLAN7OOc1szzFsnP2k8WuBy9SUEuUMHIEg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5302 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS1EPF00000046.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 167f95d6-a330-4f78-bd1d-08dedd335598 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|23010399003|35042699022|36860700016|1800799024|14060799003|376014|3023799007|11063799006|22082099003|18002099003|4143699003|56012099006; X-Microsoft-Antispam-Message-Info: WJ/bNf6aNOL0bevn0H7qKXhvfMJaWfI8CTVWOWLqVspX6RublyorT6yt0FPv1rRHyb1yBdC/av505kb4lh3DNcMRW1wY6YzOBm3f7owsUK2ZXQKE6iB9UWPmr6Xj20ikrHRixUwwYJBfN52Fp3TOAU6BEMDuNZNgeJPIgzWhRF6V0lCnFK1BHTS2ybuB9bIunal2MDcjzBu01Mn1hWjjzcdxUWBprX+bc9ds9ML5hH31ZTarVgoAGyiMjVBtBDZHnXSgLU63guZ2cwdfeybSOGVn6/i0F906cTAQuorkXWDBhURUE2QqNAPV/uKHMqAsKsiIrVq2XqCfuKN+HrmBV5luwgAfbN/UcPJ9xauBh6aqii6YoYALamZJF+FY0uEgMLPnHLAcdouKVmuLqvdns/fID/pzjA7juc7fwy105nisV+UtaG6BYr7KuxP+Jdn5fMq5WNQIRsRYCJVxXgXFOuXTQqBNO2aNTF372WLF5/L0FeQ8kmuTCi53g75lOhFaH5KoTsavTYKKiP0ucTAqzt8dV+xD4fC9RWgjaAjGHveqW2wDB354loIkEAgP8Bo5CFPNCtwx9qpwkQBocU7guDZHGzrRBQre3zlTg19DyZuYGiVdtF+TCy0Bxmun+V+nWI+YiYp30fJBzl7l3Gl03QQmm8tbtCBoWMxGIecBDAHCLuWesfu5ZTwZChol6Mi6pYNM/AdZufwWkdVvibBAXQ== 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)(82310400026)(23010399003)(35042699022)(36860700016)(1800799024)(14060799003)(376014)(3023799007)(11063799006)(22082099003)(18002099003)(4143699003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: wKKGoLMfKHnQZ9gg6MQ/XHAQC6Ykv6L4YIGzvRTYKq6v5IUldZ9R1kI993HLTGsYddji92a9kMQs6ntPgsMcaTnXQgNzhnBaYDh276brGk2fhDNjmyCU7FGOEFeI+Mt2pCvB2jGRgXyXSrTIRtZvgzZhJAdweqTYFYCnkTTrx7VgYHg7muTKuwhk1gGxU6cXgmyyI4sTbntTudwotEl88zaWAVEJ5fPcJcAK47cc21O+1iHJ6jp+CNUYBxmijdYiI2Nk8PYlff0OdN957fawufzdM5n1QsJB6wxwyy4eTEhpfAuzNMheoVoqEUny5E2LFzXsPdhwsEh07qL/XvNucAi4jJvm6TEkHkKi7vqBP7HiLIk4648U+i9oFB913U72cv0upd1TaNLULQofKz1TzWQiszap03j4oj+m6VDSIN4bdnEAmpy+F5ZyCSBB18WL X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2026 20:57:12.0040 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0d76b6f9-e083-46ed-1ee1-08dedd337ba9 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: AMS1EPF00000046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8879 On 7/8/26 11:46 AM, Dave Hansen wrote: > On 7/7/26 11:45, Bill Roberts wrote: >> The WRSS instruction (the special instruction that writes to shadow stacks) >> cannot be used in userspace unless IA32_U_CET.SH_STK_EN=1 (user shadow >> stack is enabled). So the kernel *should* return -EINVAL to userspace if >> it tries to enable it when shadow stack is disabled. However, currently, >> it will return -EPERM. But, that error code doesn't fit the condition as >> the failure is due to an invalid state change request not a permission >> issue. >> >> Investigating userspace call sites, like glibc and criu (checkpoint code), >> they do not rely on this specific error message, nor could a userspace >> effectively utilize this specific return error code to indicate a >> difference in "I cannot enable write because of invalid permissions" >> versus "I cannot enable write because the shadow stack is disabled". > Hi Bill, > > Thanks for the patch. One bit of context I'd appreciate: why do you > care? Were you just auditing the code and something seemed wrong? Were > you doing some ARM code and noticed a mismatch? > > What motivated the change? Hi Dave, long time no see. So the motivation for the patches is around adding LSM controls on disabling or making the shadow stack writable. So, as part of that work, which will be forthcoming very soon, is supporting the prctl interface for x86 shadow stack controls, so that the LSMsĀ  are arch agnostic. This also provides a common userspace shadow stack API for all archs currently supporting this feature (x86, arm64, riscv). This would also let things, like glibc, have a common UAPI. It's important to note that this work I describe, leaves the arch_prctl interface intact, and it will need an lsm hook for controls via arch_prctl. This way both paths behave the same way. Now for this patch. I noticed this issue when I was doing negative testing from userspace via prctl and the return value didn't match what was in the pcrtl man page. Thanks, Bill