From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20041.outbound.protection.outlook.com [40.107.2.41]) by sourceware.org (Postfix) with ESMTPS id EF158385700A for ; Thu, 24 Jun 2021 18:58:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EF158385700A Received: from AM6P195CA0104.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::45) by PAXPR08MB6333.eurprd08.prod.outlook.com (2603:10a6:102:12c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.19; Thu, 24 Jun 2021 18:58:40 +0000 Received: from AM5EUR03FT055.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:86:cafe::2b) by AM6P195CA0104.outlook.office365.com (2603:10a6:209:86::45) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Thu, 24 Jun 2021 18:58:40 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT055.mail.protection.outlook.com (10.152.17.214) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Thu, 24 Jun 2021 18:58:39 +0000 Received: ("Tessian outbound f945d55369ce:v96"); Thu, 24 Jun 2021 18:58:39 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: d3ff41f1954c4361 X-CR-MTA-TID: 64aa7808 Received: from aa1645cd961f.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 64216785-E985-456B-8E85-BA684F1D54ED.1; Thu, 24 Jun 2021 18:58:33 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id aa1645cd961f.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 24 Jun 2021 18:58:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dZg7HHjE83ehsgDMHVNKLgPP/RocEM958mMSdOOyDz8vrigpbe7R6sEPXUWl17n6Uq5FC55t2Cpji6wsO5Zw5jWSoqkAcAbZeMw6F9CODGm5nNLHdbjzdFtXFb1WruMnaN5AIfWxKNV/J8L+ncG2pnS6XQkkL+mgiIcmYzvnQV2IETyYba6dXtL0g2ENIYoK21DMwRxkvhXuN+5aO4AV0hLrc2uQBHfTIqvfSQDxcETS9HWfNDrulBE8/TKLcYRbEr8XjhXHIkHGRWJFjHjRuGAOAHBctH1jk6gPGBVT5qJU7RrmE6+brgzBJBBBMJIsYxBRSrbvK1S1THld2sXmkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8p3jGL/y7HAf9Zsay+p+iAEN0cwA+OXEGvrWi6woD6I=; b=FSlhiqP6U4mntXsDliSgeWeLfW3gxeec/rVvvS/vn2s/wvPgkb7OwenfWuQNlA21ns5RvnGWVn+0bixCK21iOhqke0FgZ9GIFW/A069oPMBn06XDx1Z6+Dmt5mMwtzjR4xhR19HY5Nw5IcfRwCiAPZJrpi9ChNZD/Mpvm2QApnMOQTSiiSzcVFL1EoPVpyrkoAwLUDhw8jT56NxaKPAxaBdlYMcj+u4rKvaFa1nvG7dU4ljTfzxlBleF11Wr+FOlfPcohUDQbOhYAlu3EsTml0xkdQ32enmTGKVQ3FJ7HTBVxaXzOpuFu1N3Op1QF5K/eOOQ1FN3w59bwYP12UfJ7g== 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 Authentication-Results-Original: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=arm.com; Received: from DBBPR08MB6313.eurprd08.prod.outlook.com (2603:10a6:10:202::19) by DB8PR08MB4124.eurprd08.prod.outlook.com (2603:10a6:10:b0::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.21; Thu, 24 Jun 2021 18:58:25 +0000 Received: from DBBPR08MB6313.eurprd08.prod.outlook.com ([fe80::ada5:303a:de76:b0e2]) by DBBPR08MB6313.eurprd08.prod.outlook.com ([fe80::ada5:303a:de76:b0e2%5]) with mapi id 15.20.4242.023; Thu, 24 Jun 2021 18:58:24 +0000 Date: Thu, 24 Jun 2021 19:58:17 +0100 From: Szabolcs Nagy To: Florian Weimer Cc: Szabolcs Nagy via Libc-alpha Subject: Re: [PATCH v2 08/14] elf: Fix DTV gap reuse logic [BZ #27135] Message-ID: <20210624185816.GH13058@arm.com> References: <299d28c6695cd2e76f222b0d36b17b7124c549e7.1618301209.git.szabolcs.nagy@arm.com> <878s2zlhjp.fsf@oldenburg.str.redhat.com> <87v963jvlf.fsf@oldenburg.str.redhat.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <87v963jvlf.fsf@oldenburg.str.redhat.com> User-Agent: Mutt/1.9.4 (2018-02-28) X-Originating-IP: [217.140.106.55] X-ClientProxiedBy: SA9PR13CA0120.namprd13.prod.outlook.com (2603:10b6:806:24::35) To DBBPR08MB6313.eurprd08.prod.outlook.com (2603:10a6:10:202::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from arm.com (217.140.106.55) by SA9PR13CA0120.namprd13.prod.outlook.com (2603:10b6:806:24::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.9 via Frontend Transport; Thu, 24 Jun 2021 18:58:22 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e6a7559e-0d1e-49af-3a85-08d937421466 X-MS-TrafficTypeDiagnostic: DB8PR08MB4124:|PAXPR08MB6333: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: c1DPlUmkRpvNxOre3YiKNSMe6/Jt3ZWJ+MWaTLes9TqnOGPPXod3caIo9ERmr9n/OzYEF7JI3zoN6A1xnXfPJjc3/8/UtCEHGcIU4DdKHZpeS1dFYLuLnJ+btQ++jufspk8XjhctpfuO69mTMoQpAhdsU1LKVz9IMB1hmHnRj6c0y/I8PhmArt17/e38vAzALg3PiPwUus7pZEujiJuuE2tDXf9g0h0MXdX65YeuRAcXvdJsUqr38FWHVuUnITI8XLU/XA4vddb70TAZXSEb2jd3CST8PjaqDiaJ9ktuRd3XMnZIMte74SS1iFqz03yldt9qz0HykrL8O95UHsDQpqO52zf54u9fmhzuLmEdGXQcXTqKvDrIteYI3zR2oEfRSp1bbnj9CaPn6ENd1WzT3u/kiB7m8T/uGapbbf7MLVluZAshTRSvHuEKa1kHFGZtG4zFmCjgq9rxlCDZ1UwZo6ET4EXO2Yp13yfVftw9ZPQmj2NE+yjgnixRra9WH7XLJocgI33LHsGfjroCapnCd6PDiEQBgvvXOuJPLsc7GQCSoWK+7GwoiqEyY0mvlyBte4EHtj38Xo6FxLDMD/ecH/Ss/SJM535dz+NPQGBUbtYzvXSi5Xsz7h/+nQQ+Kt/OMaZl0J0Eifrh7i1P/+BsEo3e36XqA0tPcaGpg2LksQSFYJVSEJjm0evSMz9OM6ihWp4KCHt1IPH1iz0EQt47LJEKjHRa03x5PjouD7f+5CR5g2zv797kA3tzdUWpcPxnqmrPfdRXPWB4XE8DYmldFOxajtB3FT/gX8J+yqCHM7lBWLhzZDm5eTYIe9OVFL+R X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBBPR08MB6313.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(136003)(366004)(346002)(39860400002)(376002)(316002)(26005)(1076003)(956004)(6916009)(186003)(33656002)(2616005)(7696005)(478600001)(4326008)(44832011)(86362001)(8936002)(8676002)(66946007)(5660300002)(2906002)(16526019)(8886007)(66556008)(66476007)(38350700002)(36756003)(83380400001)(38100700002)(52116002)(55016002)(6666004); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eDhkSzgzTjBkVmx5THdOQXJLaGM0aysxZ3B1QnNIek1tMHRIbGQydXo1TFZk?= =?utf-8?B?VGthNlI2V3NMSnlQNU9oUUJrOXltYW8zTk5lQXNKY28wKzRiUWRKNVJKTlA0?= =?utf-8?B?RzBhNEJrTWlYZmYwNkx4WWpDNU90YWZiMTJNNFBZdUdUeXZVMzJUQld0eCti?= =?utf-8?B?QXNyd2EyZExhS09yclJZRUJpU2ljUnRjWGErajNYOGVzTFl0SW9kN0JsaDNL?= =?utf-8?B?eDVkVGdNVnlhTHhMajVlYitsSFlGZHEwWVJsM3ptU2tIeHEvTWh2MDV4T1pI?= =?utf-8?B?N2s1d0dhWHN5RGJrby9PUkdCSytHNlJOTVdDeWNFakJvTTV0Tkd3MHhnSnZL?= =?utf-8?B?aTRhVVpUQTZ5MERvSjA4OGRKTElETEZCQnpzOGtmN2I5SDVOTzh5Ky9LK2sr?= =?utf-8?B?T3hKaHA0Q2V1TDFaY0libkNObWU3L3JrNGJJcjNlcFYrNHgvTGR3bHJIWjlX?= =?utf-8?B?SWxjVXQwbGoycDhFdkFXWm81NS9zUGpBWlNrRDhhakFjWUlKYlR4amNoZG00?= =?utf-8?B?Q2FWSjE5N083clhmZEg1SkcxUUl1UzMvSWhDd3QyVTkwNFpKVU1oOFpEN3VC?= =?utf-8?B?eUhEZDIzUjZXb1NEaWZVdVRxREtXR1gxTzhvSFU1c3VjTUFuNXZRalJQWHRj?= =?utf-8?B?Ym5adEF0TXUxdC9OMXViMlJIMUZwbGdiM1gzYXRqUnN5bWVSZkhHZDZPZXFD?= =?utf-8?B?bnBHTkVDbG5vRGdibDlUUmlzTHlpRDIrNUVlck1MblpvODFCcXQyYkxHRHlU?= =?utf-8?B?d3FZcHR5RFg5V0g4YlR3cDZENWczVFRaTUMxTkJXYVpLVk1RTWF4ZE9pRWJR?= =?utf-8?B?c3pia3ZTUU9ZQ1ZGcWM4WmpMOTIzTFR0Tlozc3lFcFNWckN0aUlIYXl6MTE3?= =?utf-8?B?T3B5d0pwYWM4YWQzdEE1MXp4K2t1OTVwcHhZVWorZm1TTTFMb2VNSVdMeTBu?= =?utf-8?B?S04xbndXYnErRWVKeUp6cEU3L3QzaElEUGRLMlJ6QXg1c1ErT1lvenpUM2Vo?= =?utf-8?B?ZjM4Y2lraG1EMlQ0azE5a055UEk0Y1BTai9TMncreEJQU1VrNE1ncDdtL1oz?= =?utf-8?B?QityUkJXa1IxWjlLSzMxQlVsZjNnamR4Rno5RVY0MjBqVE42eHErOU5aUHRS?= =?utf-8?B?blNldTBrdGpvbFFVdmMwaU9BQ3UwOUpZVTIwekx2c1VVYnBCU3g2T3hIU2FH?= =?utf-8?B?alRFWXRCU25XV0VxRWI5RE1CQWZOVU5KcjNiYWxpQzZINzcxY3pEU2Z3RE14?= =?utf-8?B?NWlUREExMCtBM0theVM5akYzRTJiVkZmWTF0MDM5VTFRclJ1djhacDRwSUMz?= =?utf-8?B?aTRjNW9YQmJMR0pObGMvNnJCTFhpaWRPazVRTTBqRXFvVU5aSEQyY1N5UCsz?= =?utf-8?B?Q3lzWGRpYmZEdFptb3U3SjQxTVJGZDhBaDFjcW1HMXl2MnFSeU54VW1lMnha?= =?utf-8?B?TXVVUGtpeGpHNzU4Y2x1MExvekRhaldnallBNENkRS9WM1BTdHgwaXZhakxW?= =?utf-8?B?V1B3bUEzOVplVFpZZUY1WHErdWlSTnlnMkxLSTZkUWtKa1pld2YxcVF5RytE?= =?utf-8?B?S0h2UE5sbTkzOElWTHRDaFZRL0xaNDZiV3o1WjdhbkZ1d0ZLem9DbWNjZ25X?= =?utf-8?B?cDR4bGxZZmxSdk4zdnBJYWp5N1FIY24weG8ySUhNazBnN2N6QTAxaElyQTA5?= =?utf-8?B?T0RtT3Zla2dzUjFHMGxxNkt2QzdkYVVuNWZDNG1oZXJ2dndwa2RvUDFMRnpm?= =?utf-8?Q?KYRymw3c3XrWJPM24JYwjjk/8jV031aPUOnThMp?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4124 Original-Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT055.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 95fe06f9-1fe3-4e55-46e2-08d937420aa8 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DomGOMeNqA5GhkHYPPSZARvr51ndc43ClN5XzZaQTChIouUn64LEyHmYHXqLqnOEoW88ATRJxeFY+sOwqYLK+GXv5hOXbXBrKXYXG7aQxOJbP6qcuKgCx6ndZHGgTv1mz8Kc8mvD63yE1itLlfxTbAzv+TNeqbbe1ViQqU/X2AOz63VFmItiQtD3yeHatYl9N2F9knRiqRjtQqRuzU+8EbQuAyRGs/9GmE/301lIoXnt5YWkzFLFoDFIp2QXbnpmqMzXE+KMubVw9ZyvEy0WHTxqsSEQ9MtaL9tIqjIKUt3zepcDZvIZhkzYSr8XG04OKInzZuhnKMvH073UQ+F8CPASztNLIqFhBNxcTmWZqICMsqEurrahnBmn40OOwHKSzZJYJMjSKXR5v4vuQmv2XbRDXk5fr5WtTsbqsGVEipfMtAirYbjPftQyQN2X96g8xI8Ft4ryVS5iUiiosnr17BZzQfYFJ8YpkPrfG6vM8CYmFygkWjC19PIrvrjaPdX3nLPFVzsZh7q33HxY8N9jRAyOni6q+HvOiiF9KOrSbdMxJHl01g09nzQjHQgpPaVGBydhBDEKH/lKcNiCv6HRkNSymauSv4ia7IC0hwt1Kr3Gf/HuV6Hx+GC2z+MlB6KuIYrgd6DEkebUW0t9EqMh7GC8HcyYkIpkSn9e/nNbx6MaI3knrRDDcz8MCvpAZtsxOmYzrJF4hWj6rQt6ldWY/8SBnq/DDIkzN8VJrJSe26IwjhWQvLqUEPRyjeHkpGXI09B6lLZufIJWhOFnLMtLUMUNjvVppgdT9janMVdM46mdfBQJVus0kUdS306VvySM X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(136003)(396003)(39850400004)(346002)(376002)(46966006)(36840700001)(47076005)(82310400003)(356005)(478600001)(26005)(8936002)(8676002)(82740400003)(186003)(36860700001)(316002)(86362001)(16526019)(36756003)(336012)(33656002)(7696005)(83380400001)(70586007)(1076003)(8886007)(6862004)(2616005)(956004)(81166007)(44832011)(70206006)(2906002)(4326008)(55016002)(6666004)(5660300002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2021 18:58:39.8689 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e6a7559e-0d1e-49af-3a85-08d937421466 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT055.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6333 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Jun 2021 18:58:44 -0000 The 06/24/2021 14:27, Florian Weimer wrote: > * Florian Weimer: > > > * Szabolcs Nagy via Libc-alpha: > > > >> For some reason only dlopen failure caused dtv gaps to be reused. > >> > >> It is possible that the intent was to never reuse modids for a > >> different module, but after dlopen failure all gaps are reused > >> not just the ones caused by the unfinished dlopened. > >> > >> So the code has to handle reused modids already which seems to > >> work, however the data races at thread creation and tls access > >> (see bug 19329 and bug 27111) may be more severe if slots are > >> reused so this is scheduled after those fixes. I think fixing > >> the races are not simpler if reuse is disallowed and reuse has > >> other benefits, so set GL(dl_tls_dtv_gaps) whenever entries are > >> removed from the middle of the slotinfo list. The value does > >> not have to be correct: incorrect true value causes the next > >> modid query to do a slotinfo walk, incorrect false will leave > >> gaps and new entries are added at the end. > >> > >> Fixes bug 27135. > >> --- > >> elf/dl-close.c | 6 +++++- > >> elf/dl-open.c | 10 ---------- > >> elf/dl-tls.c | 5 +---- > >> 3 files changed, 6 insertions(+), 15 deletions(-) > > > > Apparently this broke GNOME Shell: > > > > > > > > I'm trying to figure out why. > > The bug is that if there is a gap, _dl_next_tls_modid does not update > the slotinfo list to mark the modid to be returned as reserved, so > multiple calls in a single dlopen operation keep returning the same > modid. > > I'm not yet sure what the proper fix is for that. this patch is not critical for the other tls issues i fixed for 2.34, so it should be safe to revert. this might have been the reason why gap reuse was not enabled. but if _dl_next_tls_modid is broken then likely a failed dlopen can trigger that on old glibc too, so a fix would be nice. thanks for debugging this.