From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from YT6PR01CU002.outbound.protection.outlook.com (mail-canadacentralazon11022089.outbound.protection.outlook.com [40.107.193.89]) (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 9A0AB326928 for ; Thu, 12 Mar 2026 22:52:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.193.89 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773355971; cv=fail; b=Jg449n7Z7jibU+uS90ohb1Wx0lNRFnq+KUkP+ZAoF/63sCNN4G7A8P2eaJ7r8tk4rgHEZf6onC+1HygBzBIYENdG0y4gMYbYHMd35nQDihkc47yx8i0ilHgu4gYjOSxOUQh+4LN7qvW+7vQNm9FCXwLJfkoVE13zgQHKMQskEAk= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773355971; c=relaxed/simple; bh=nh94HVUr/FulX25mH4AIw6r6f9mdcW4GES9T5sQu6kc=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=jC5bNwXH0oBWjpl25SF+kp98x3Iy84kAUjAOG1AdaSM+/6sQJKZfVTRiMYA6gE/gq2N2qS2p6oDzMEU1QhsVRJnC4VNSM8yNMJrCppA6VRKBqNHX785qGpjgrNRtBe6Jpe7sTlWmPK3CLZI55ZrtsaDRO8SmPVB8Jc8sewxirQI= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=efficios.com; spf=pass smtp.mailfrom=efficios.com; dkim=pass (2048-bit key) header.d=efficios.com header.i=@efficios.com header.b=edRtqjJB; arc=fail smtp.client-ip=40.107.193.89 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=efficios.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=efficios.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=efficios.com header.i=@efficios.com header.b="edRtqjJB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=R89006cq8X4eSRSpqb/HVHuRtez2ghCkKKSBE9/OfOka8R1FO2owES+QSesSfAbrU3mANmW9S8tGl+7khTB2qpGmltXpJvSe4w7vIn8035V1eztES0snXY2ucoPwiOaQhag/GIihskNPOSFILr9U/2uzNtf1maHrrs1tLzOS1Sy/1tDEV5oUinYQykTs3WBqR3Ccgf8TCwluRh7GZOdxwlKbeW82aDxq0BD3U9+Vn4h+d9r09CqreDys+BQbpLk03/fzwvL7Tz/z7lJtD1yWguHn5epLaQO9f7b4chfgbmgTawDHHSPWNlwulc4BwHz2tBGnZZ4x+EvPsODL/6CBag== 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=WdBYOl9NWxhKWzO3+MpOfBFkmAtD3n9pVbmrnj7e+ew=; b=RKlfuFvaNGFhld7CNX5Y9xcNLTUU/DlgBBPWDwNRxlP43EYi0fkSWZM9JmSCH9bB3wBEzUEHIEcsakFE6QX0Zy032t7rOC9GJpEM9yiG9P4WcL4mPea+DK2fWG+gNsnyDj2PgvXkXIt2VIb1bEipYi9DQrQ3yBKOcAL3mpKBOHbStTMeIK9HhhmMlouJciEl19Du42wNLtvE0CHy6VidDMjTtJEHhJ7Y6JnaO40GetSB79uiW7JkxHiQLdxAaFAql91pASulASHfpKDzt5rDzOIi6UTK4JrGIj5l5UndxWNPx+Db73Ecg2l+lqk6V/nupRcx3oc8yuqdBAhp7Gs6Bw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WdBYOl9NWxhKWzO3+MpOfBFkmAtD3n9pVbmrnj7e+ew=; b=edRtqjJB6BEW+S9ce0TzVvoLOQJt2DqA6OO659QbZOv7yJUy99nsccI2USNTgzHvDIpy0mVIsh01D9ZKA/vQVopbiuTT7bPYetnoSsGmOXfcZZ10ByxcZY17YV8uHOfbu9f0xjEHGKJHyswQRVQDLPRbCqj9lhtkeR9lvh1naWMnubS4jAHOGxvzD0dQWyWdz5uU2OcaBkz8OGurORoTK2Jzk01y+zy++nb1tjZCJB43EGFe8RKrXjS2nsGRsY6JgcZomD/4fEzrVyfkJtZyIuQ4tifiFHAbrZA1xbv98hL4KLaxvZFAGjx6wRD3fCm1xaqsvSlpLKfqXdWbxtupPw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=efficios.com; Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:be::5) by YT2PR01MB10789.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:f4::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.16; Thu, 12 Mar 2026 22:52:40 +0000 Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::6004:a862:d45d:90c1]) by YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::6004:a862:d45d:90c1%3]) with mapi id 15.20.9700.015; Thu, 12 Mar 2026 22:52:42 +0000 Message-ID: Date: Thu, 12 Mar 2026 18:52:43 -0400 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH] futex: Introduce __vdso_robust_futex_unlock To: Thomas Gleixner , =?UTF-8?Q?Andr=C3=A9_Almeida?= Cc: linux-kernel@vger.kernel.org, Carlos O'Donell , Sebastian Andrzej Siewior , Peter Zijlstra , Florian Weimer , Rich Felker , Torvald Riegel , Darren Hart , Ingo Molnar , Davidlohr Bueso , Arnd Bergmann , "Liam R . Howlett" References: <20260311185409.1988269-1-mathieu.desnoyers@efficios.com> <87eclopu0j.ffs@tglx> From: Mathieu Desnoyers Content-Language: en-US In-Reply-To: <87eclopu0j.ffs@tglx> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: YQBP288CA0020.CANP288.PROD.OUTLOOK.COM (2603:10b6:c01:6a::24) To YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:be::5) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YT2PR01MB9175:EE_|YT2PR01MB10789:EE_ X-MS-Office365-Filtering-Correlation-Id: 58762071-5647-4ece-820a-08de808a11b1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|10070799003|7416014|376014|1800799024|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: IzFWmBcHedaPgIdqng4dI6m/0goFT3b347yPsw5LZmF5PrRklgST9ejDwtag1Vag1Ix+tTGLCjNzuk8QbahiqLC72wPeFq4jCXmZPXi7aolLnW+iCCaQTkbTUjZri/VVjV33lILZCXyC1ZHtTisl/3ua9+hjuGfrtrqaz4sg7k3SPzDUmUr1znXl83TvPIdyXc4gCtnH1uY75oG5CXmUV2ARMG+WEIULKhKDzJwY3pJFIs1/mfVaBY3J688Cn2yquGtLUjLZpcTKgCI9w0wBOgG1/cO2VUv5N+on/CpUL+ncvBkQ/5NNzv4jXIjdRJJAg3czUWe+kqr9XcenKEZaL/TT/E7wdgsK+az/Wq8Go+Y9lqojcHLULcB2ncUeBuBPawrQiXOMjgEMrhBv5LNeQy9hDWo1euyVCkj22bF6tGvOsCiJuHsQARIUQHoUH0NU6tJRUf6hzPh9Mmr/sMSsbDabCKZpdWBTOaik7qopV/nDS7ZuMYs0wUFPa5dUKm3iqjG8mX8qxc+Ni4WMwPIqCxtbXSIEIl8BgO4f7rIdrBqFALkMpFn1laX/MWjQl+3GY1Q3O1Fw4VrAYYEJmxs/HzPLycpLHbfoZkmqg4iAtD8n7FDKlKIEeR223+sa/A2v15hIlSUuzWQrJKZ4RHXfP4gKTDHqvfhPx7sKU6G3RsY0du9Vu6mt7bEXn0euVRmc X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(7416014)(376014)(1800799024)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OE5yUWE4Z0JzMHU2L1ByWVdJbVZGSHIxUmpYQVpNeVczT3djd1VkbGtYZmxv?= =?utf-8?B?OVZPeUkrT2t4S2FmNFJqeGhDdGJHS3llYWdNandwN21ydHJxSmttNW1sbURp?= =?utf-8?B?SUVOV3I3QjVvNG9HUUVIWk1TVmZFdFRwczM3c3U1clZmYlVpU1hTVjE1am1T?= =?utf-8?B?L0M3Tnh4L2M3aWJ5ZEdwRWplWFg0bUh3TW05ejN6MVUvZWlDcjVhbklDMGJD?= =?utf-8?B?RW1UenEwNVRvaExoL2tNRFB6SEI1MXhtK1BXdWFhZlZWTDROK3NSSmczRGxD?= =?utf-8?B?K0xWNlMvOEtXREVRa09pODloOUplY3FMSDdSYjBKQU9RQ3QrdFFFaVJ6QjN2?= =?utf-8?B?a0hMZ2o4RVFLZVNHclR2RzMwV3dzLys2VUFvREtIV3V2eFpuRW9QUlhRaGdx?= =?utf-8?B?T00xSGR6QThXOXc1WlUxcm9GdXhLNFAyMTN1RnMxSlNmSHlOcE55ekxXMXFT?= =?utf-8?B?YUVvWEptVmtkUmpURURWZmNKVlVBNGxaaFkrdi9ncFNZUUtMTXBpVFl6c0xq?= =?utf-8?B?TzZsdUhiU3BlUTQ3N1J4VlRVRjEwODN3NnVFNlVSZWZQQk1qSHdnU0NvVWI0?= =?utf-8?B?VWtZTURwcVJ5Qms2YnZqMVg4R09WZ2VDbWkyNzZqK3gzMHQ2cHd3NHBkSzk2?= =?utf-8?B?cDc0R3o4TFh6Nkhqa1U3ZDdIUkpMY3U4S1NyV2FJN292akhVc2VqaEkrQmpI?= =?utf-8?B?ajhUQXF5SlgydWNDQnJ1T0pBRHBveDI2TElETnZlNmlEaG1NdzRGQ1Y1U0VM?= =?utf-8?B?MDhrNlBFbHdCVHR5YUlidklsSTVuMWhYNWd0cjFESUpubUJQbkFqcHhtTCtD?= =?utf-8?B?N3pPVHNWLzlzNUI3Z21zSFFuYUdUdTVoanpoRTYrUXVMN1pJK3QvcFRXd1ZJ?= =?utf-8?B?Q2NaV21qaEwxU1BtRGpPS256SmhBL3dnSEZoL3VaL1A2VDZDVmUxaURQaW1W?= =?utf-8?B?dUFSR01PQVh5czdzam9jTVF3U01oVVdIVUhuRHdzeUtWODh6N2NHYzVZbS9V?= =?utf-8?B?UFNQTTRwYS9yMlRwWXBGQStrMFhhejNlN3NEVjRxUzJFU2pzN1NjZENlMC8v?= =?utf-8?B?RzFHWFByejYycnNSZDhBV2Z3aWpVRTBBYnhYMWFtbngwc1AvdjdtNW5UM3Fo?= =?utf-8?B?U3lQZkQxd1ByaC83a2VJVWlYamxTMWdyamFoOERnMmNmUXNOZWRJTThXQ3VW?= =?utf-8?B?UUJXRGEyZUZhNkNXQ1l2MC9DMHFyeXlxcjEvWmVnUW9jeTdWbUpWeUpacGtO?= =?utf-8?B?eEZDaElYTFJLb0NBTkFWRDJXMlR0NDRZNlRzbFJQYlpHTGxWZ0JiaHR0Z3pO?= =?utf-8?B?aUxVeFVPYVVWUytidHRzanlIMWF0UDNROGJEQWJMT1NMbXhkeC9oVGRQRlRC?= =?utf-8?B?UlJNd3BZQi8yQkd0cytsU3YvMFlEMW05VHNvb3hSUEhpWXQ5OWt2SDJTTVdT?= =?utf-8?B?WUFtTEtvMEN0eFlwU1ZqeThtOVZvcUswbjlPNW9mTW1jUE1lZVFsTHl4dnBT?= =?utf-8?B?djI4ZW83RTJtaTlmMmVKUGtSYlpjcWlpcXhmSnZYaFZJdVErL3oybEFBRGlx?= =?utf-8?B?eTNzdHlrRUpkZGNKOWVuSnJxcElCclNIKzB5RzVpa1diaW5nZG1CM2JjSTlV?= =?utf-8?B?dmtFOXFOcEhUa0xZOEMzKzY3K1lCc25aTHRnMURmYW9LRlhyVzBUVTBnYzdi?= =?utf-8?B?bDhsTjNTUTlqNXBjT3ZJNWpsVTJqUGYyeWpWRzJNQXVTTFNDbVVuNEdsNXo4?= =?utf-8?B?UlNSNWozQnZZYVdSZjhUUGNpVFEvdlVVQ0pTMjUxWExNQWNtKzFVN3J0aHFv?= =?utf-8?B?SytrUm51MXZMdEgveGcxeEdmMy9ZVDl0MHd1Y01ENk00ZW1UVkFmU0RNQTlj?= =?utf-8?B?R282SEUyUEFDWEtzdGJSc05SUFpSMGhXeFNQM2NOaEUvNWhFQ0RCeVl5TENZ?= =?utf-8?B?a3MxMkg3U1J5dDVJU2VFN08rT0lJVTdmNUkvN2FCWmU3czZXQjRBc1dpOUk1?= =?utf-8?B?b003SVZHY0pyT3BTOUVwS0ZCVnlkUmlRUzc4RHpjOTEycnpmbVZLZ0lCQmxW?= =?utf-8?B?dGFYZktNVGw5ZHlXVkxIQ1UrVzQ3WW5wbmNCUzJtdnVBekdNUEJ4YkN1TDdT?= =?utf-8?B?RGVLc0IxM2M2L3djU3R4djgwaWRxK0xNUTF2UEF3cnV4dTNsRUtIMXVpNUl1?= =?utf-8?B?VmRjYS9YeUd1UjhESkhSalpoaElHNFl1N0MwZFFkRkxheUFsN3VFUk0yd051?= =?utf-8?B?bjFTK001RzFjMnl6ZWxPUFlDam4vKzlYYTk0MjBvV3p6TlB6aU5wNFBmdkZF?= =?utf-8?B?bG9SUmxzSUQ5b0EwTnVyeS9JTXdzNWZsYWQ3a05sWXhmRXRtb3pKTmZ1cldR?= =?utf-8?Q?2F0TqtZZtTdWf7UHauteXuf8ZhrY0BlJsj/AcrfIex+3D?= X-MS-Exchange-AntiSpam-MessageData-1: cRhaJGZdD18N2ZkXheYuaw3iZccvAvuGKsE= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 58762071-5647-4ece-820a-08de808a11b1 X-MS-Exchange-CrossTenant-AuthSource: YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2026 22:52:42.5108 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lMlOwX3GahV+6KwZZK0aMyT6NC6pBe0p7+tbntFTeMGDH4s5DqC5iBi78ObvBofW6Q7L/BnjlfZ0GymS2OMmLAwJUnq510jpBoROBq2pfhA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT2PR01MB10789 On 2026-03-12 18:23, Thomas Gleixner wrote: > On Wed, Mar 11 2026 at 14:54, Mathieu Desnoyers wrote: [...] > > TBH, all of this is completely overengineered and tasteless bloat. > > The exactly same thing can be achieved by doing the obvious: > > struct robust_list_head2 { > struct robust_list_head rhead; > u32 unlock_val; > }; > > // User space > unlock(futex) > { > struct robust_list_head2 *h = ....; > > h->unlock_val = 0; > h->rhead.list_op_pending = .... | FUTEX_ROBUST_UNLOCK; > > xchg(futex->uval, h->unlock_val); Here is the problem with your proposed approach: "XCHG — Exchange Register/Memory With Register" ^^^^^^^^ So only one of the xchg arguments can be a memory location. Therefore, you will end up needing an extra store after xchg to store the content of the result register into h->unlock_val. If the process dies between those two instructions, your proposed robust list code will be fooled and fall into the same bug that's been lingering for 14 years. Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com