From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from YT3PR01CU008.outbound.protection.outlook.com (mail-canadacentralazon11020090.outbound.protection.outlook.com [52.101.189.90]) (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 7F2481D9329 for ; Wed, 15 Jan 2025 20:17:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.189.90 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736972225; cv=fail; b=qzWlg/15miqrqgZV4/Zf6y2PF1Hlw2uxHMfR5Y2dXavPlISlyEakH5jSPWKRXjupDYOCoL3J4QVyUvFn2DQUYnHFFw7QBHPXxdveXogfWONkydOzTi9jtOmRvnNbJD+QYRaFKaaO1vLzhHOtZ9aR4wIh/p8dTob12s+Cs4rf1rY= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736972225; c=relaxed/simple; bh=+1+wBvFAlvh9W9F+48GtGnA3qDqsqv/wBjGxpVJZMNE=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=TqDufxpLU5+Rm94erUZe9oeoxdrYSYh984seeuFbovkqDzQkC0ulmnvrDuXnFNwZtrviEvljEDcWZFguZZ78iNfaSyg2mW5lL/LCR6O0bac8USGuEZ9wrly/D+h2PkwIq7zEKOhBDC+5RJ7BqeEz3Dp63gUycPw/C+yQro3PSYI= 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=I0GGzx8C; arc=fail smtp.client-ip=52.101.189.90 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="I0GGzx8C" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mPUT+/NSgHcLhUeRa2ram+eU82JTY0t3OAMPS0CjG5uO5w6BqJpx8VNqolwgHQIkYi+nHpbtu99gDVE8bpV6fJgqkBHZJ3hcAzec2cW9l5OTHNp23xnZHk9R/sCU4hNhQH2FZt3vBc+5Jnq32V3/UsEqt7RwBhBw8nxKyniFxpMdhZ36VVXV/7PcbhFyiDc2f1+B0Uz73G8wHtVsl4pfCG0zupwb8VFhH9MtdsaSw13cRB9DnQKNANltEt5vISNlfd/MT2PlXhwj84D7G2M6M1bVlX5CSZTJphLvBMI39QCvPrzcKXlhSUHsRxYQ6IaY8f79qKlhtOaqwPzbfN4w/g== 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=Petl4yuLUf8m+vUhYz2I9ZZxWmqyb0nWpttl8ZC+ZK8=; b=CIa+NzjJgLJ4FtSWLe0U+cLMNc0PhfV8QDEzH1SnYpRqxv6pwY4lm3py8MmlC656t2BSyFQWwGIMtQAWLacUNo0FByIFoGWlM8uTu2+TbuQo9v6CuT4OreNy/IccNzoGmRSn3tQUSjzsuGv2MJgKrTt8XSGx3xFCEQ+ilQSzRP78DTsE4NjgYv0kIqrkt/OAgltjAjItV+mKTH83CKfwC/I3PJtrM1VoZUldCPSO5H+zOS3IectWP1P8iX512e/tGoSSqulWW9hquBdxGstxWcyWJ4oWke65b6vGoRh6H6HkxvpByIZHnijjt9EWvXoI5fJFt0Aiaz6/8ltIcxwH1Q== 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=Petl4yuLUf8m+vUhYz2I9ZZxWmqyb0nWpttl8ZC+ZK8=; b=I0GGzx8Cnzd+yiKBk389fYBxd76bcObAXmx7jma8Ac37cJdf992SvrjF6ErGVjCJlC3xJ6F/p/mkxJC/mb30vF5YqOi6T0DvphjR3KiMKrTdnwIMShtINXyttD16sL2OquDXGss0jGqLD6svXaWptk3lFqltbWm7YIrER4vUufR/Rb9OjYVGwE57LQYhfrvhz35W+6sYuVBMdntwl8GGpYa+2eWknYQpC5ayfZDRrEFTLDsDXgAQW2CycmoNmXGww7pE6SPoqx/D2J9IseJ47n0/iI/73kp1szZ3J9oAtZJA+pCvVGRF3jr1xtisvt1t3T13BEgcda1nQJf9SO/VYA== 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 YT1PPFC51055974.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b08::585) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.13; Wed, 15 Jan 2025 20:17:00 +0000 Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::50f1:2e3f:a5dd:5b4]) by YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::50f1:2e3f:a5dd:5b4%4]) with mapi id 15.20.8356.010; Wed, 15 Jan 2025 20:17:00 +0000 Message-ID: <7cd665f6-7b1d-409f-b7eb-417c08440a35@efficios.com> Date: Wed, 15 Jan 2025 15:16:53 -0500 User-Agent: Mozilla Thunderbird Subject: Re: Prevent inconsistent CPU state after sequence of dlclose/dlopen To: Adhemerval Zanella Netto , libc-alpha Cc: Florian Weimer , "carlos@redhat.com" , Mark Rutland , Peter Zijlstra , linux-kernel , x86@kernel.org, paulmck , Michael Jeanson References: <5de4b3c3-7f11-4d81-ac75-1b7381a87f0a@linaro.org> Content-Language: en-US From: Mathieu Desnoyers In-Reply-To: <5de4b3c3-7f11-4d81-ac75-1b7381a87f0a@linaro.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQBPR0101CA0071.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:1::48) 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_|YT1PPFC51055974:EE_ X-MS-Office365-Filtering-Correlation-Id: 957e7d5f-d5e1-4c8b-df76-08dd35a190ff X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?WUJ2aWdTOFl4L0tRazFOK0xXRVJ2c2NsaURvZFV6L21IVTkxaVRMYWRZbnhF?= =?utf-8?B?U0piMVp2STVHQUVkVDZJcWhFN21GMGh0TzlOTWdQZkY0ZHcwZVNrQ2ZXam9i?= =?utf-8?B?blc4Q2ZSdHBaQXFuczRpZDBlTFNuUGhpYklEcmxlVUZodzkyNnNTVUZFUVdO?= =?utf-8?B?TzF2bmZtN3pjSlF3NTk4cXJnVUtub2dDK1JEd0k2UjRJQUZIcnJOcHVlRGU5?= =?utf-8?B?eDVtRm9jN1lCVDc3RzQxZm1XaGJ3d3hTamxWVTkyR3hvOXpmNU02NFpPSE5h?= =?utf-8?B?WkpyQWkrUmdwcnNHUC91bjViV1NaOCtNT0JDNjJMOUw5Tk9jNEpZejROeDJq?= =?utf-8?B?eUFOcWdHNkEyK1poNjBqWGRDVFp0enVxOG5mejZDdnh1OGYxVzd2TlVkQ3Vx?= =?utf-8?B?M3ZxdWdEdllSWDJBdUF5WVNDUEd0RFlCS2FSblpEUUE2NWxFN0M0MStmN0t0?= =?utf-8?B?a0FMU2t5Q3l6OXlnSE1KbUpTMms3UU1RSXVGRXBseDhqNEU3VXdIR2Z3UHJD?= =?utf-8?B?ajN2T09EUk93dFN1Uy9WRUZ6SFF2ZFdlTUo2R01jeXlRdUJtMGNRbWFYUnF6?= =?utf-8?B?V09SOWszOHkvME53eHA1TU1NSzJLKzdCVGdhTnI1RGhyR2h0Vzdic092aDY4?= =?utf-8?B?OVNObkVNeXd2bXhILzI5ZWNBaUJqVGJHZy9ldkwwMnBLQ3R2ZDl4WTF4RTF1?= =?utf-8?B?NE44bUdTQ0N0T0pUY3dCRUY1c0RQM05WQ3ltUTZlQUxlVzczUXMrZm9Gcm9j?= =?utf-8?B?RDNVVlB5cXR4S2xLQjgvMWpqa1QweVFGaVU2b3o3WENjVGVVZlRML3RtRk9h?= =?utf-8?B?WnVYYWZxbGJNY25iUFJyTjBiQ1hMQkR2akZjV243cHk4K2RPT0NxZTlVR3NU?= =?utf-8?B?TWRic1NsNXpwZFpRRlN5QnA2K0hxQkk5a2dWUktMNG9DR3I1UVRMNDhPWEQ1?= =?utf-8?B?SW5zRk40c0pXdmUwTDVPUmtEcDdZZlpRTmpLeDA0Z2xFSS9UU3JCUHJ1M2dQ?= =?utf-8?B?Z2ZUYlQrVzJETGhDMFlkbjVMSlVIZEVGMGJVdi9FaXQ3OUozeEJrd2trRndu?= =?utf-8?B?V3ZqMnMrSjR5dUhDWk9reDduemdXdjlTcDN5Tk0rTGlVRTI1U1hzZStrWHNx?= =?utf-8?B?UkZaRFFSa3lRcVBoTTB0cDZ2ekJlaXN0VUgwS0t5anJIL2J2OVlBUnhad0Ny?= =?utf-8?B?bHA1dlZLd3RnYkNqMk4veWkrTjlMNzB4K2lJT3FqZDhOZ0EzNXFBS1RmL2hh?= =?utf-8?B?elliNlRqMzdqV1NyM1FhV25GL3NzQTl2NWxlalQyTm9ZckhUbzhqR04rMEty?= =?utf-8?B?VGlnYnExallqbnNFb2lhNkYyVzFEcG0xVXNsbmRWdkllUmMyWU1CMjhYSG02?= =?utf-8?B?YmJqWm1GM3FlaVcwQ0N5bVdjbFVjT1lQamk4dlh4elNjNTJYeEN5TTNsTERu?= =?utf-8?B?amxQOGVQbXAvais2YVk0eUNNbTE3dnZhOUN4ZjBFcjVGMEZUcGNDSEtoMFRL?= =?utf-8?B?VVZCT0poS3U0UDlvVVZEZHNveXBIeXJzbGM0Ymt5MyswRllLaUxCMDl3c1F5?= =?utf-8?B?Q2R1Z0hkN3prc0g3alF2RXB0amJMM2pyb3NTclhRaEd6Y2JTR1Fsd1Jzc01N?= =?utf-8?B?MWdHb3h1c1VMOS8weXB5cmtOQkVZWlFkSGs3QzhEZ1BkejhIbnFTYklGQk1o?= =?utf-8?B?TndOZFhoa2l4U1VqS2k4THBXajdmRmRMOFMrc2laMTRhSmNBTXU1UkgxMkV5?= =?utf-8?B?aGxQNFBFY1dPQ3FGWGJscE1wSStQdWV4djgxam1NVnB1dmxzd3Fqd0UzZ1ln?= =?utf-8?B?dFZnZUFLSkZ3NXYvUzc1dz09?= 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)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YWJrU3A4aW5QS2drQnNLZ2xRMUZUNnoyQjJPK0duZitRSWdwVkhnejNnOUM1?= =?utf-8?B?dHMyLzZIODVQN3JxdmtDdWhtTy9GdUt6OFBGYXRuV3FBdVE1SjdqM25YbzVm?= =?utf-8?B?UjZVa3JSOFF4U21TUGRHN0FLMTBzNDFJdVNGdjZhbHIvSGdxRXpadnlhWDRW?= =?utf-8?B?VkNHdkVHeXR2MUNqZnNIWFFZODVObncvb0lGNExkY2JwcXZGZ2t5clV1NFBF?= =?utf-8?B?SUZ5WExOM25KeU1nSncwUWVZNnNCQmR5YXlOaUtEQ0JQYzh0UWlpUUU3RE5O?= =?utf-8?B?Qklhdlk3ZlJnM29McVVpSFozdmZoaERDRkk2K1JHbDk4TkVIdUZ2a1JjVzBH?= =?utf-8?B?bmloeGlSVVM4eUd4dWp2NDhVWWRqTnROTjNsM2hWZVl1OWVIajhSSGJRTUpt?= =?utf-8?B?TmpQVVpaUDNQOEdBU0hIQ0NCS0U0dDFQaS8xaHBXaXl5bHlVa3pBMkJOTmxU?= =?utf-8?B?TUFWRGk4WDA4OGRQK05lOW1wdDU4VHJGb29INUJXRm9jaWI3NlhQU251akRo?= =?utf-8?B?UlM2V3V2TkdnOWF0THFLQmlkcHVidTFkMnp4dXcyQndrcnRRWjQwVmVKVXlQ?= =?utf-8?B?TDVVWDJVYXpsWGg4VDVpcTBwYmhub3UwbHBtUXBiTUtSZmExTnFRaEFrcG9S?= =?utf-8?B?VFVFVGNzVW5odjRCZFFQdVZyaEhDY3hGalNOdk1jVVNud1N3NDVyZVRBY3BZ?= =?utf-8?B?aUhzU2VCKzJ3aHN0NDJaRUdrRmNDTUxhUG5WTG1HajRnb0tSWXBCUGdUTmVk?= =?utf-8?B?cGg2M0U5MEFsMWFIUWRSWUxFd2xHNDdXK2djTGRaQi9sNG1wZVgyaHI1YjQ0?= =?utf-8?B?MTF4ZTN6V0FOWk9SOUlaY3ljSGFpOUxKUVBKWnBhNDV2Z3N5ZzRjZkY0Nzc5?= =?utf-8?B?Yy9tVDF0Z1BRaE1wWWNHUUJsUWNDVEluSDRCTEEzRFZiaGJnWjI3bEZ2R25a?= =?utf-8?B?L1VseUVvbHUxbG85aFFadlhvdzRHK0IzTUFqRmJKNEpZQnFFOWRaa1BOSXc2?= =?utf-8?B?YS82Ri9ia2xFV250a1VXUkdjd0ZvVjRUcCtoZzFMeTdiUm5KTjJ2R3NjZnIy?= =?utf-8?B?VnNtcGpVZE5uaDR4ZkNSS0lmMmZJRXlxYWRVQWtuYzhCUGZ5cTNDQS9HWHdT?= =?utf-8?B?d1JJdnY0QnZwU0JXUkxBY0crSTJtaFJFWGtIcGlaRGZTTFduellXZHlab1RP?= =?utf-8?B?U1ZqVUZHSS9lL2dPUzFFUjlmWFZEVloySk1WcTNQekZ6cUZDUEZUMDRldk5H?= =?utf-8?B?Vndka0YzbGxwRCtMODFjTUpEaXJsZU9ydU9Eb254dFN1cEJmUW10WllLZjA4?= =?utf-8?B?WFBVcGZlQWI0UXZST21FVmxYOXp3WlFCbHN6UkNDRlE2VVN2UmdreEMyMTVE?= =?utf-8?B?Sm9qbTU3VHdhL3ZZcVZYK0hBMDBLcDNEZVJuZkF4TjdlUzVveUdzR3YvMGsr?= =?utf-8?B?NU4waGhNaHpCaEZpNHFsM29oTHAzVFdrTWR3ZWtRZHlsZ1NucGh2RmlLTWNi?= =?utf-8?B?QTNSNzNkM0M1dmkvSmEvK1Y0ZTdIRXE5M1BhcW5TUmhNM3FyY2dXL2JvamRQ?= =?utf-8?B?V3lzSjROUWkxaGdIUU1mOUlUTVExQU56Y0FLRzQ1VnRPWjNXbVRkeUN1NUlB?= =?utf-8?B?Y09rd1pzR00vdTdXdCtHbksvYnE5QlgzbUx2a0ZBVHRQeWtzWXpGeEI2WGVa?= =?utf-8?B?WlplOFdUcGdDdzVuWmxaOW96eFF6QWFLMDlSZmthN2FOSlk1djJUbnMyY2g4?= =?utf-8?B?dVovRnBqVEduWDJVV1JFNStuR0szWWhOV3BWWkFEcUh4R3NJRUMzaGVzeHpl?= =?utf-8?B?YkU1Nk1SR0dBTXE2K2d1MXMzbkFic2d5Qy8vNGY3V3pWUExxemltT3pRYUhO?= =?utf-8?B?SkV6aEp3dlJScEhtdWluUWt6V1gremVVcDVqdGhZUGs3RmFWZUxPYnUvYkZy?= =?utf-8?B?bGxpVzdnUW1SQlB6UnNPeDU5aUI0QUY2YW1uOGo5cG84S0Y0UDhuUVV0YW5J?= =?utf-8?B?ZGJtY3pUYlhkWHp1RDltckNtamNxZnFETTRPcGNQUzc4czR0UzFCWVZSSU9p?= =?utf-8?B?Tit4VUFsRDdqVXlrK05OdWtGTjlENFZKVVMvbGpBN25WRFgyellvTm9nU1JG?= =?utf-8?B?UlorYW9rLytzc21QeitQMDZVMTVrQjlLanlDZ1dURG1CeVlmMjVVeHIyL2xt?= =?utf-8?Q?kMaYmjpfL8voBSI4GWE/y28=3D?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 957e7d5f-d5e1-4c8b-df76-08dd35a190ff X-MS-Exchange-CrossTenant-AuthSource: YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jan 2025 20:17:00.7130 (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: O3ZwKuDh2B9XsiazYTdssSVaJLRUYa0kU8Er/BQARYerzgO53utfOiI+Xizia5LANiIdDddr1SXBjNP38XSQKz//iEYnGPL+NKvtDyepM0E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT1PPFC51055974 On 2025-01-10 11:47, Adhemerval Zanella Netto wrote: > > > On 10/01/25 12:55, Mathieu Desnoyers wrote: >> Hi, >> >> I was discussing with Mark Rutland recently, and he pointed out that a >> sequence of dlclose/dlopen mapping new code at the same addresses in >> multithreaded environments is an issue on ARM, and possibly on Intel/AMD >> with the newer TLB broadcast maintenance. >> >> I maintain the membarrier(2) system call, which provides a >> MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE command for this >> purpose. It's been there since Linux 4.16. It can be configured >> out (CONFIG_MEMBARRIER=n), but it's enabled by default. >> >> Calling this after dlclose() in glibc would prevent this issue. >> >> Is it handled in some other way, or should we open a bugzilla >> entry to track this ? > > Yes please, it would be helpful if you can add some information on > what kind of hardware and kernel version this is an issue. Done: https://sourceware.org/bugzilla/show_bug.cgi?id=32563 > > Also, could you add some detail of the issue and why kernel itself does > not or can not guarantee memory consistent after the mmap call? I've added a comment detailing this. > > Is is because this would be an extra non-required overhead on > mmap that userland should handle? Yes, overhead is the culprit there, although it could be manageable if we target this kind of extra sync-core operations on specific sequences of mmap/munmap/mprotect with the PROT_EXEC flag. I've documented a possible approach in the bugzilla entry. Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com