From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from YT3PR01CU008.outbound.protection.outlook.com (mail-canadacentralazon11020084.outbound.protection.outlook.com [52.101.189.84]) (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 7B45C3D7D68 for ; Mon, 16 Mar 2026 18:35:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.189.84 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773686149; cv=fail; b=qBHi7kns1bK/R7njiDuBQ1Dcx6sWGM2yfmYbd8CdXgGLlOu/3ZOQk8vHgk8BXrFCmYDXsR/ps4lffSds90Cl/h5Ka4mrbA19pXLmjbRKLDXc0d+uUekgkYfNeLO/s85uwpCqyc3iDFusClciWE5Ozf+/ws+qo/zY/BQLIV3XH5M= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773686149; c=relaxed/simple; bh=cC98KEpAe/WsksxWcXqRZdCHBmcO23rW1P0URTOvSnM=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=Ue02FP2zdjUPv5AV8cVf/LRdo9U2lMY3oUCEqSXx8HIhjfVXqRLBx3uY0ttjeRuJGG98MFlbXq0DZ9PxBrnTi5doEPpDNg2k211O0+WH6mtBWa5SGMsXil9OpGZWBw4StejCnbzCpdPKRKtQKAjOTZGqQKAsbDIJGQzncWzQc6Q= 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=m8+fktln; arc=fail smtp.client-ip=52.101.189.84 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="m8+fktln" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=d8fZWro1hOdQPMljZa32aDlRZVfwsnfvyBDUYnkEpptfwgPZJdpwPlF0fu714r4QZVzNMWo3FgFpmWWeildKfqZuOUDFvpFpjYG7Qb2IG9iQOT8ogwxGF4J4oTV00qySBrh5BgTj6tavXcn5shSBLte5y4sH14ZXHXBpUVd8ScA8h1fANJXNL/Sy22OjQtE6K+PBdq/mcw8cYrsYkWHqxDk8s+Z0HnxgzQM3ml/uAgBZpzNUEBW9Wrd3VoJq2poOJns8+rn5EXh3/u6YNjcxkVdA81K3vjhqgfhS0+etSurkLQEMjFp9E0+7/r9VMzqZwiubOQCDrS57GeYxvLW6RQ== 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=NLy0blxd2V+spFovcMFIfLDPROMR984UEegMhku9t7Y=; b=wNBZnatq+9lzb8JSGxqSVP/H5Wz8aHKBzPTYtNE15V5Ty1IpKPxy4zDOJOqAXL4KpPesaeq6hzmxyJanx/esEtCSmwDZfAE8TL1IuBiat+PKdXW/oaivhDrAcBGTDUmbFroc2+M9WBrpmNmXztWx1s6HiYweKc13vUH85L5J/oAwCuvt6NcwzgNYMD026GrwBam3PsG4sNmW9XpWW6ODu9fy6Zlv5CvBt1Kg4nwh69N3O4Sk3zk5XWXEAYP6A1Pa0VmxLVdq/X01nn4AybKk/lzVtsQf8BEUuIjextV9XpB8EnLbTLxnDw9c4wNTLszIanDRdGxPTBPlTXxI2zsx0w== 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=NLy0blxd2V+spFovcMFIfLDPROMR984UEegMhku9t7Y=; b=m8+fktlnJUub/giWwCQbt3VoMWdmVegFxu3sM9urBwXzsurXVHgfWhCgvST8vhhMREu/1QHdNYDNLfK4JF6LeZcjTdjrYnnSQQ9QRQv7wT1/Q85froEfw05oX36sttrh5TbvAUV9TQQptIVeH4Z8tqE51e1aoKZn7x1tjGbmmB4sgnCSTa3W68ztpiiXcWw8n6xhysYkALrXnI287wkZNXjRaoyWvnhnZeftcnSMkHSfpfJq8TeZR+zldG5IB+4Qq0avE4ChR+fN74eHQ9a5igaqbbWw64zG8fsQg/EThFMmUu8PqHXEFxDaqSWW5iyf1AlZlIIreCnMYOHXXFDoFQ== 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 YQXPR01MB6461.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:4f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.23; Mon, 16 Mar 2026 18:35:41 +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.024; Mon, 16 Mar 2026 18:35:40 +0000 Message-ID: <03f563a3-caaa-4b72-bedb-b2b2a316b545@efficios.com> Date: Mon, 16 Mar 2026 14:35:37 -0400 User-Agent: Mozilla Thunderbird Subject: Re: [patch 6/8] futex: Provide infrastructure to plug the non contended robust futex unlock race To: Thomas Gleixner , LKML Cc: =?UTF-8?Q?Andr=C3=A9_Almeida?= , Sebastian Andrzej Siewior , Carlos O'Donell , Peter Zijlstra , Florian Weimer , Rich Felker , Torvald Riegel , Darren Hart , Ingo Molnar , Davidlohr Bueso , Arnd Bergmann , "Liam R . Howlett" References: <20260316162316.356674433@kernel.org> <20260316164951.345973752@kernel.org> From: Mathieu Desnoyers Content-Language: en-US In-Reply-To: <20260316164951.345973752@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQZPR01CA0045.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:86::17) 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_|YQXPR01MB6461:EE_ X-MS-Office365-Filtering-Correlation-Id: eb1f0a93-3c5e-4c2d-7a82-08de838ad2c3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|366016|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: JXCgYe2jDc40kytT5iPQwkRhFIiX8G4DUnf0BHE80ou+W8damGhATTEChT/EpN9vIwYZtjTd29G3rUxJsY4P3qtvWrjhonKQHIkqb4bDJD+7BQ5MYrfkZHxfxTAuknwQQiafy1OegjlTKZMsBJxWXnOQ1NMw1gcYc7U0gBLsPa1Gs4w+ORniD9pHYmycrvDJ4woNqB2jrS0ZpnKoqysORs8YO4nJbOhwZ7F+yhQD+NCHKu36gebtL5QNB3aNKEbRX3ENp/yExncU7pqU9kNnu0tQn0IO7Gl6yqnFWGAhdD3wDlVqpJljb3zg+9REHyD9Hg83/IgVzLzPyElDM7OJ/YxsIYiOzo09tx7jCbt0EVOjEzOerwQIDDd7xg/nHX+TiBoSdYNQp901AxGhmc08KhADXBgdFyoJV1JolT9AYIPFd7NmqRx8tq7XwOqF/myDrW7p6BLh21p4cEv3J7tQVBbxakpIUaC/FNf7NGS9Gu9Fg0Wrz+0OxJy6KllpVwa7RGT4/aco+I23SCwSTu6uXhMlrmHnfUBSXUDxqhO/tvkdfw8ajDpDm8t15KTM2Bd8VPx6TDlcE2et+T9XYPyT+c0+zmA4/IIktb2RJXJRLdjfKhNnWPZuI+o8wiQAtjy0/KZlK7LXQvLdOFoPaYMKuEz29SfsOw768GzFE/dltMw= 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)(7416014)(376014)(1800799024)(366016)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NENBTk5ERDNBQjVWUUJOcFlyR0pQaG1Hbmd2SVovWXlnazdVQnBnbWdlZGow?= =?utf-8?B?TTBRN3J3aWlQaE1MWW5JYkNWMy9mYld0RW9nb0IvM2ZGOGowUjNTTXNaNkpj?= =?utf-8?B?Z3piRzRLWktsQjZzM2JMV3lZaFN5QnY2UHBzSWpxamFidUJpL2hBQXZMQ1h2?= =?utf-8?B?ZktHc0pWWGQvV0RWZnVJUzFuMVZ0MFpsaE5HVnlaaGQ0STJ4L1RvTEcyU21v?= =?utf-8?B?djJUZ1ptNzZLWENOaDdtdGV5RVdQTjEzYVZWUW1iN2d5elpYZ3ZNQ2ljK042?= =?utf-8?B?UnJSK3orOGJybU01MWZiKzhFc0VadmozQ256Z2ZMWVRlUC9ibkt4NmMrRzNR?= =?utf-8?B?Q1lET0Z3QkhTMXNPWnd0VlZ5K0MvVjNzMEJLZEVRRkJVOXM0ZE9KeGx5Z1FM?= =?utf-8?B?NW4xeWp6b3BGY2ZTeXZZYTVQNi9kNTlMcGV0bVRuVXJ1NDJ5ekNWZ2hXcTE1?= =?utf-8?B?YjJkRnNRdnRCVjdqOVMvWGJjWWJnRldhZzgzSXlYOFpNay9BVCtnZkJ5YmdO?= =?utf-8?B?T0pWditqWUYwLzRPN1JaMVFoQUM1bUhyK1VCTFozKzcxUWthalJCRFdQRjl2?= =?utf-8?B?dzFTTm9xNHYyMXhNWDJpYVUvcWxBQ2NBU2hTcTlraFRQQlBhSmlHRkg2Vkpv?= =?utf-8?B?TS9uays2QXVPRVlxZzM3Y0t4bzc0bDlRanZ4Zm1qVSsvdm1kaW8yWCtOSVg5?= =?utf-8?B?Qk1vK0xmVjdoN0F4SHA2UnNjWG5hYXhqWmUxZmlIZzBZVUhaZTdMNHNSZVgr?= =?utf-8?B?OVdJQnYvdG11K2ptTDNMQ0k3TDVISSt1TGJZeG5STW0vUVBiTHRiMlFDcTZK?= =?utf-8?B?UnVGd1VDQ25Ha3pVUFdHenA1dnY3ZEZnc1JURUM1dXFzalJlTW9LcmdhL3hn?= =?utf-8?B?ZTZyU1dSSURkRWNqaUJKSzZDZk96cUF2L0Y3Q2NUZzBQQXB4TmFDemt0Z0VR?= =?utf-8?B?MlhHSzIveHo3dHY4bjB0UmRMMENOZnRINWFaY2lpUHhPK3NKWFhpZnh6SnlS?= =?utf-8?B?akFObk9kWEtEYi9MVm9rL3lKanZFZDJQOGV0S3R2Z2hIc01lNXNnQ1FyRDY0?= =?utf-8?B?NlVFSkhjSG43eGFaR2wwN2VoZjR1bTJubjUyalY3TmpJeWlTQ052cTJ2MmIr?= =?utf-8?B?UjZKRFdQdCswQmZ5N1NsRkQwMmRRcXRaZkNsa29SOEVqN0tuSSt2bWRIWjB4?= =?utf-8?B?cS9GN0VSenUwYmZ0Ky90NkVCaVpMZFhMN3FOR2lYZnBDb3R1ZEx5QnY5Vld1?= =?utf-8?B?VU9LY3dEb0I0Ym5KTjNDZEYyYmpjVk5qejgycFJlVkM5YVZwcUxIUXhMZmZ6?= =?utf-8?B?VWQ4b3RVakNJbU03OWFGM09sc1U3TkJ6QVZUN2ZpbkFQQmVjNzFkbXc2UTFm?= =?utf-8?B?S3dNZUVBQXllNWpjdzJnV1lhb0lpb3BMNVBQWXNpVEsxaytGa3JqQWlZeTJB?= =?utf-8?B?N2U0TUw5UXRmeEViV1FpOGtHUkozcjNmMVJWQlNmc0NPT0FBaTdFc2ExQkUy?= =?utf-8?B?eDlZenpYbUg3ek1yS2ROZDk0OHIrSHVPSzJNTnFwaWhvQUgrQW5HcElEbW50?= =?utf-8?B?bTBsMTJrNVRiaUFIaHp0aXl4eURMVDhJTkJPeGJMeGkrSHNrMzN5WElpQzg4?= =?utf-8?B?bGYyck44SHdUWjh6YXc3OUp5aVBSaFpURTFkZGF6dzdJS0dWbmo1TWZUTXFl?= =?utf-8?B?TitRaXdDSjdrVzVNZDJkZzcrNnQrK1FnYzZiTjJqK0kwek9rRHBZV29LU0tn?= =?utf-8?B?WlY1Nll0MWlXSnJXaTJFSEJBMUxwL2NIMFlhelpUMzZNeG9KRGM3ZTg4UlBG?= =?utf-8?B?Mm40UlUxY1p1aXoyTFkyZ3FkSSs1dFRxMklhNkVrSkk5TjRpdW9zZ0doR1Bp?= =?utf-8?B?eFJnREhlZVAzVFVrZFpKRk9VeE55Tm5IdE9RalI0czFFUERzQzRwWmNzcC8w?= =?utf-8?B?bWo5VkxiSDlCdzlqTEZCeEVSMUh0cGgrUDk5NldLNUVJOU5xQnZzNkY3dlBr?= =?utf-8?B?Q0tCdXJYem4vMXFIVlhldE1oUHZUWWtHd1lGRG53UmxLRkFZYXNBSUltSkNH?= =?utf-8?B?N1F0clUvMlBGQ09FMHIxeDRob0txbmJaWXlwRFJnZHRUbDJuZFJsQ09vaUdR?= =?utf-8?B?QjdPUG5ZaEVXUFFFeFRCa3lHekJYM0c0ZnZUL0pSV2RWMTdOdy9Mb3o4ZU5V?= =?utf-8?B?TFE0djF2VUJNalFXVEYrZ21rVE1BZHRIbDJSelZURUxXdUxKL2xrVk1tR1VP?= =?utf-8?B?YUFhVE9ocnpRNWozcmNBcldCSnI5ekJXR2JPYWppYVBRM2dhUklkMHpMQys4?= =?utf-8?B?QnR2VGloM0FiSGhPeUlhRzVJdjNla1VQR1V2RU1kSVMyU25UTDA1NldrdEEw?= =?utf-8?Q?/Tsd5lOAG8bWVPgRMsTcq0ORv9TaTBp5oO9o0?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: eb1f0a93-3c5e-4c2d-7a82-08de838ad2c3 X-MS-Exchange-CrossTenant-AuthSource: YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2026 18:35:39.9955 (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: nKZjHulEDAqqxm2tdbnRG6rSAm8XHNmPzHAwzrEn4dMNXRstD+MCOS50HeBYkNiro9qR6ghGylYdR8AcAo89QOWJ3eYGbQSvG94GVB+sDFs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQXPR01MB6461 On 2026-03-16 13:13, Thomas Gleixner wrote: > When the FUTEX_ROBUST_UNLOCK mechanism is used for unlocking (PI-)futexes, > then the unlock sequence in user space looks like this: > > 1) robust_list_set_op_pending(mutex); > 2) robust_list_remove(mutex); > > lval = gettid(); > 3) if (atomic_try_cmpxchg(&mutex->lock, lval, 0)) > 4) robust_list_clear_op_pending(); > else > 5) sys_futex(OP | FUTEX_ROBUST_UNLOCK, ....); > > That still leaves a minimal race window between #3 and #4 where the mutex > could be acquired by some other task, which observes that it is the last > user and: > > 1) unmaps the mutex memory > 2) maps a different file, which ends up covering the same address > > When then the original task exits before reaching #6 then the kernel robust "... before reaching #4 ...". [...] > > As this is only relevant when the task was interrupted in user space, this > is tied to RSEQ and the generic entry code as RSEQ keeps track of user > space interrupts unconditionally even if the task does not have a RSEQ > region installed. That makes the decision very lightweight: > > if (current->rseq.user_irq && within(regs, unlock_ip_range)) > futex_fixup_robust_unlock(regs); Nice trick to re-use the rseq infra, but where is the added dependency on CONFIG_RSEQ=y ? Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com