From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from YQZPR01CU011.outbound.protection.outlook.com (mail-canadaeastazon11020073.outbound.protection.outlook.com [52.101.191.73]) (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 ACD24449990 for ; Thu, 9 Jul 2026 18:56:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.191.73 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783623380; cv=fail; b=Pkx0fzVuY5lDUyrokMgYnxtPPzerVptRNeLL9DItixmpXlB7mYp1UbhO6SVpDgdhA/zNSwxYfPiupK+Zt6iFw+fU6IU81/vZH/Drl1ug3d+DjgRpatw9R1iFFt01cQQCh4EX6tJrwIyEN70r3PSd5BCCZ+ER5kQPTPp3I47esqY= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783623380; c=relaxed/simple; bh=EsMUp+hLebqHza+7OKi6V7sJlefKmc7W1PFl9LlWyWg=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=uHeg6tYO/8YJdzjhYJqiPQZ3v7WOhQzSBGJYKN3vjTT5+BwT40BKOenXA0QIHJiSX/69TVHLAmLbbTa3yz3nP3kqLNu3M3i5DoUSZkM1YxEzFPqQyO6apjdl5v3uKA5AcJ+yD7wHH5wvZDsPyBzY/KECaGX3clQWtuXrg6CqyK0= 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=CuPVjdrn; arc=fail smtp.client-ip=52.101.191.73 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="CuPVjdrn" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UnV4hKTZN5hYHb887wAHdVfgvsLz5Jl856J+kMxOFDCoVkMMKPvkQLyxrYp254hv8y7d4u6EuMd8wfBDNyxap6h79zSz53wjRznDLjliOQNgOkErS7FDx1ySbEpM5hm5URf6gnAvdKtuNQ79EIC9ejG9tN7LFhkD8s3wdWzlr/ExYM6od2p3Dkw1ufavCkD5TdDdNaCqDKJWUMRTsmphIEk4sXna5d6D33mSRcZa5UjFZkGtEztR8jNA30DccWKbjxvRG5kavWGvsDlbh6SDmtjFi8HMhd7FlmQq0UZ16/deUAyV2nHOPKfWEPJ8cahTp833t2Imi9FEIeljQHTTzA== 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=mauMfvpyRtBko5wX815J+k0eDXHv6APjarrrxbRo69s=; b=xzfJriGJitzWK7Ca+/M6bAZjW5i1uFuPcfCELHJUgpYXrhYFC/+CYo2HszWkXPtGz8u6h3UYWYRRTN1+6sY6gQQqP15Ca0VwtRnG0oZm85W2oNF3+ZxL5Ri9xkODFiqM1aS5oP8kzqhusZDXK3IvurkJPDg88iyTyNkvJvhUdsx7cM5UBl3KV3ilOrr/SHqsgaWx7aFaAtVbFUEU4letr+H2H9uFBmzwmgRzu2MN1pyNrT8qX2IIoixINj4YgfJR4wPqDOVNzrk5+8lDgNJLz+mknlQOcDm02CDiom1kFba+9P6Huqy2vBNJlBR96SGzXeNCON8SW+gMKmoFlDfgzQ== 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=mauMfvpyRtBko5wX815J+k0eDXHv6APjarrrxbRo69s=; b=CuPVjdrn/e+OGpr7eQ2ggrNrfTwrveYiFK6LA1zTwk1nQBqJoDVpmEQgDdGgHrsytQS9mSDQ6ehBmgkXImsKnhUxmPOAdnY7f4WDjuoqtHULVSzd1tm8q9TYpZS69yOUr3QPftQZ+8LvXEfVKIfTZQskPwoiXMnuV7LK5X+fXd/du9oJG2jrmr6DiKDzmeDFmD4y8IxT/Rklnk0l8OIq10OhYwSg1qeICnMDR6HPwGR4EHO/zBznQ/t/pXgH5e1Ia6vCODrlWtCdsO1VkJBB0Jwo3mRGXwim/QUTP8R4Y5C6BLGGlowddsy65Nlk1yzO/I3Yjz5VGEJjhd97HuAKUQ== 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 YT3PR01MB8897.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:7a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.16; Thu, 9 Jul 2026 18:56:16 +0000 Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::6004:a862:d45d:90c1]) by YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::6004:a862:d45d:90c1%4]) with mapi id 15.21.0181.014; Thu, 9 Jul 2026 18:56:16 +0000 Message-ID: <55079bd3-b049-4e0f-9225-ad41e3562500@efficios.com> Date: Thu, 9 Jul 2026 14:56:15 -0400 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] hazptr: Introduce CONFIG_HAZPTR_DEBUG misuse detection To: paulmck@kernel.org Cc: Boqun Feng , linux-kernel@vger.kernel.org References: <20260709183009.6814-1-mathieu.desnoyers@efficios.com> <20260709183009.6814-2-mathieu.desnoyers@efficios.com> <2402b90a-7f26-4ef8-b5ff-b3c92d1be9d0@paulmck-laptop> From: Mathieu Desnoyers Content-Language: en-US In-Reply-To: <2402b90a-7f26-4ef8-b5ff-b3c92d1be9d0@paulmck-laptop> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQZPR01CA0169.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:8b::20) 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_|YT3PR01MB8897:EE_ X-MS-Office365-Filtering-Correlation-Id: 949372a5-f2fd-41ce-cca2-08deddebc137 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|23010399003|376014|18002099003|4143699003|56012099006|5023799004|22082099003|6133799003; X-Microsoft-Antispam-Message-Info: iZhIZ6+syabVRctooQMWOe26hsFJc3AOlD70Frn5x9nzpN1fZGHWFdN+4yeet6EYJz2KkRFwCXlatZlCeFHvkVeDzA4mEtXFvh6P+eJ2pJclH4Cym8lIzKoa3SE47K/xvfASTyZC1ch4P3PdKbONqg4i6J9Ojon7veJEtZaQ4wJYzv1tAV0ZRtUO6y2koV9OmoczkbtZZWG178Gj0dAQSuFaOt3TGNbZnsuyAMj13virMt1+qiB6lV5xyYs13YJsC0gVPH/7fgobGV+DIIIGlNhaOglp9zgPpaHLaRv4NzLZVMS4jAspH2iCOFisZtWPCO7L7tR0LEox87h6mwpqR4sODce+FDHg9pcvW2hqjmgziQ6r1/T0PxPFOMenFVHMH53m/hYbwCiLHYU9F5BKEX++8RYEuYbFWfag0hzjVDzntMX+JKYKuEYATqZCaSGD7vX4ppjlRm+JAKGNspOnqrilK0HnrdPHCiR/UQZdHjReFwvgpqWxPvr9Uw5tHA37dbXNbC9urrwPGmeivHhSKG+ugk193tEpD+NhznzJZRe+62BDRQBsUGHaimlMsXbme45x6n2PrT8JYTXGQCMP0oF96jJnA6dcCyG0Q9qsvsY= 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)(1800799024)(366016)(23010399003)(376014)(18002099003)(4143699003)(56012099006)(5023799004)(22082099003)(6133799003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?T2poc09NcG15Q1RPTStJcFovTVIzd0MxZ2ZsNzBZV1QxL21ZUHRBNGNnRDVF?= =?utf-8?B?eTZsdmRkY1Ava2J6WHJSa0cxS3g4T0dPVFBHR1laeWEvTzJqS2FqclV3MkJ0?= =?utf-8?B?MzA4cGdDM3VKU3JoNFpadTR5Y3hCa1REdUpTRUNSdnVpZFM2OWYzTVdJeEl4?= =?utf-8?B?Zk1XSG1NZGRpMFdXR2pOM0V4Y3YvYk5IelVYRFVFeXhKdjhERVZQWHRqamIx?= =?utf-8?B?azkrR0w0ZUJSYWRvcjhFajNiOExKU3JsRk5ia3hEVit5Tkt5UTlRT1p3aFB3?= =?utf-8?B?YmF6R3pGMEdIZHhWK1dMQm4vVERjWHpoaUZabFhZdjArVER2a1Y3b3FHbWc5?= =?utf-8?B?ajJBNld0YytJSWszdXlubTJ0b1RGMGFySk5MOU4zaDNHMDFOdW9xbS9KelRz?= =?utf-8?B?eElxbDZJcTNnaE9ibjRiTW5ScjMwQ1FrcWZsNzJSQldFOTFxdGVQdXFXVmdR?= =?utf-8?B?RWpUYjhrNTBtL2tGQ3VYZ29DUVJhM0IybUx2RVpxWWlhOEZOekJZMGkzcEpi?= =?utf-8?B?a0diYlhaVnEyTzNKUEJUUm9Ea1RCQkJneUNZTkhRT205NUM0TTN5TW9xYm9Z?= =?utf-8?B?OWdnSFNnU040R1FJQ3g4UUwyOU4zNWR3UFV4T1NTb2l5dmtSWnAxV014dE9i?= =?utf-8?B?cFhMS1BEbVNuMDRxSFM4cWJtU0pQUWJvd1pObFkvNWdObEI3K0lYVG5ZMC9T?= =?utf-8?B?L0dDS2hjbXFrUXZiS09mbStheU9yREF6VnR3TjRRSWgrOXR0d1hxQnpwQUox?= =?utf-8?B?TjUvUUZmZ3R2RXFJc0paK015aW1IbVZQTnlSZWdqZlVmSFB0YnQ1S05zUFlM?= =?utf-8?B?T0VscHoxelZOWnZEV3VMeWNIVFJUVFJ4OUVoRGMxN1dIdUpBaUtxM3hhd3dN?= =?utf-8?B?a0dmbXJRb0lJQ3JZM2Y1NWwyb25ncnNpUVlWRXB1bXJuSWZjRkpLMURRVmcy?= =?utf-8?B?QmhTek9VUk9kZDNoZDN1ckVEbSs2MFdyRzlkL1h4R1dtRTZjT2psUjN4aGZs?= =?utf-8?B?N2Z2ZE5tZFZ0bW5YSmJWc3FyTzlhTlJ4RHVhL3FKeFI4VXZQMnJYSHRNcUZw?= =?utf-8?B?MFhialp0TkQxZkVwY0htVWp6d1JVRmlyeGd6QlM0cU14c1VQdjArZDlKeW9i?= =?utf-8?B?UnNObnNXc2E1Qk5Ra2JZQ0RCYUg4ZlIxK3VYbmJ6c0pWajJKMHBiVWM0QmtU?= =?utf-8?B?ejZldzFIZ0Y4d01nQks5enVFdTNIZnJoSVc3dS81Ykk3dzB4NFpsR3k5d0Jn?= =?utf-8?B?UXlRSmpzWWI0MEt5b3pSdmw3Q2tnVDc2TWhvcmJoZlZ2TzhGWnB5Sm9DeFRW?= =?utf-8?B?RCs2U0tFWlNpaDh3MnV4Ty95VmdsRFJqY0FSUXVFcXZFZkpLK25IT1hDOFF0?= =?utf-8?B?ak5JMWFNR1BWVUxBODhYRzRRam5qZ3RVQlRDVzVSSVZpelFNMGNvS3ZFVnAx?= =?utf-8?B?UjNqcUlVQm5scmRXUlpoeVpBR1FQa0tDVFltNjBsU1BUb2xxbnVLZC9JNWIx?= =?utf-8?B?RVJRTDV3MVhybS9nLysxUzFjYVhCWFBCSkFpVHFuNTN1VzExMXVEOEZYL3dB?= =?utf-8?B?c25aOEFGcGZPQzFDRTdMdzQxRTF4QkIwUVBSWE9FWldpdjJjM0ttWXBZR2tB?= =?utf-8?B?dWllK25BS21tSGZ4ZEVRV1oyY29XRE9md2NOUnJ6OWgwZU05Qkt3QlYyZ0Jy?= =?utf-8?B?NjhMb3FReGEwL1REdWZIT0FZTDFzSnVqRjRoeGpyRXJNUldxUHpCaDVYQ2FM?= =?utf-8?B?ODFNc0s2VU9GTWUvWVM5QlI0SWNPcG8zZk5YTlhDWjhIZ0N6UVE2R3dSVVJU?= =?utf-8?B?eXBCMFVHcmxSc0FVRytYeE9wQVhjMGFJV0gzbUdyb2hQTWFoWVNtOVkvWTR3?= =?utf-8?B?SkVHS0tKbS9KWjMrSCtTbjVtVVBNYmN1Q2hrNVlNbFV4RWcwQ25kbzBSWThw?= =?utf-8?B?bjY0VmViT0ZsdFhXMXdOd3N1NkdXU0FmNUU3OFZWRWdvTVFkdHJpdFZzYkVU?= =?utf-8?B?S1I3cmRIUkFrT0VLOXZnNkdQNWROeW5Fc2FlZ0sxYStVeU01bUl6SkMyMWhx?= =?utf-8?B?R0NyNy9JRlhKWFNVYWsyUjdBaGtNNW9oL2owSkRoL1VieVRzUk5oamNFbmIx?= =?utf-8?B?bVBHRXhXK1RObHZsZDZsbWp4bTJYeklNemFrUDc5NzJ3a1IxTDZRTjNiSGdL?= =?utf-8?B?SFordmhoYmlrekh2WS9KeWVPZ3ZaaldrZ1RHVDZXcm9keUl1OGlhaVdMVUox?= =?utf-8?B?WXFmd3ByNGtPM1Zid3ZFS2NOZTJoMTdFUTJZUU5lN0MxTWJ6SythMTJxZGlO?= =?utf-8?B?bTRFQlhyT0xObldQTUMrMUZ1VU56ZzZ0d3ZNVkErRlVBcXlKeDVkbWhOR1Bz?= =?utf-8?Q?fjUrDZKnkSXPHqIo=3D?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 949372a5-f2fd-41ce-cca2-08deddebc137 X-MS-Exchange-CrossTenant-AuthSource: YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jul 2026 18:56:16.3116 (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: nzf9qaHgFYs/UK8JSCc8IvcSoG0nu6pKRWA9Gi6SFlcQIGjlHFy31JIRfKaXirGkg1C/P68ELhIXxvpMZJDV71NDc1PZLqz7zL4ukOmoxi0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT3PR01MB8897 On 2026-07-09 14:47, Paul E. McKenney wrote: > On Thu, Jul 09, 2026 at 02:29:33PM -0400, Mathieu Desnoyers wrote: >> Introduce Hazard Pointers debug assert, which detects misuse of hazard >> pointers, namely failure to detach the hazard pointer from its owner >> thread before releasing it from a different thread. >> >> Prints the following to the console when a failure is detected: > > Thank you, Mathieu! > > I am testing this one first to verify the debugging, and then I will > test the patch 1/2 hazptrtorture.c changes to verify the fix. > > We are going to need to carefully document the hazard-pointer handling > rules! ;-) Good point! So the general rule for the hazptr API is that the hazptr context is attached to the task that does the hazptr acquire. The scheduler integration is responsible for ensuring that the hazptr context is moved to a backup slot in case of context switch, which takes care of handling task migrations without user intervention. The case for which the user needs to explicitly invoke "detach from task" is when the hazptr context is handed off to a _different_ task. In that case the scheduler really cannot help, so it needs to be done explicitly. The debug code I proposed here discovers two scenarios: - Release vs acquire are done on different tasks without explicit detach from task (user error), - Release vs acquire are done on different CPUs, without scheduler context switch in between. This could happen if the user has a confused hazptr context ownership model. Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com