From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2124.outbound.protection.outlook.com [40.107.104.124]) by sourceware.org (Postfix) with ESMTPS id 2CA193858D35 for ; Sun, 12 Feb 2023 23:44:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2CA193858D35 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EU3uUJr64eATRmJheCuoEIwO7tQJe9DNUp+6T5B7KlltuJQlSwBe5UEPNvuKRCN87Njo2+ShYqRebcqqs+iqrnIHbPL+0+izhaOC/Q1//rkh9BLpD75nkd9dJuQQgLhlccCUrnP2C/486SHu0y2qKlco/92610NJetXSYjivHqYUw8iAP/OfNcRsDAUgHQgTHccht1m+v+tBa0ZYKpzZKpseqAEHFn7c9yWwNpd0sEeVuZhtjgD+ph/43K6DGUVLTdz3hxCpCFuEoMePF5Z6F2fDRPko7cH15Run7w6xv5ukLG7y+GRzbVcrYqbEK/4aYyoiT4xNPPUcsMexLKIZJA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YBOoOZ/c3n6HPs11NBIJ+afy6w0dYCxN4pA3HywW/1M=; b=ems+eklbKB6CdyAzi9sWaQMD1KS+PoNrDxxQVvVxOItqguRkdBkeMQx9EXj0/CPNL6fI+3hUMuZci7I5YAmMXlY3ez58DAGTqafVgBgIvHqgEBEtWi1+BskmPhcUMxhEoN0oYgmUHwmnLgbwW8/G1AE7Z6S6hjcD6BfHbqCTvCLa/yj9qoiDDfEoAsw40IdsjPhZ2e1HM/AZlJ3aoHJZW7moGVCXgV0GEwt+JRxNry5Qnf8VzHLJ8WF+iDrlUySasbLge+f3anacww9M15wuBwYd4d9PYvkg+mv1zg3tj8tWwn6mYg99Z5YtlwEKGZFbVwwe0L9EWLJ8Znam54ehkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YBOoOZ/c3n6HPs11NBIJ+afy6w0dYCxN4pA3HywW/1M=; b=aACmwxAKjyuDH04kM4owQ1Sf9CFIBQAkA13NYtg3dLCVKvN2cJOKA1jklNIdXXSIPJqu48c14X85+KGr5WrPSo6OQX8YzvYW3oiC7ADn+vjoc8+f1njnlDpgbrsWmsfbVbZ/1+8o7Ib4gliNi/xlse9gNKAkm3E7cPR2V60fxZw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=prevas.dk; Received: from DU0PR10MB5266.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:34a::22) by PAVPR10MB6914.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:30d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.23; Sun, 12 Feb 2023 23:44:00 +0000 Received: from DU0PR10MB5266.EURPRD10.PROD.OUTLOOK.COM ([fe80::d067:93ef:f184:668a]) by DU0PR10MB5266.EURPRD10.PROD.OUTLOOK.COM ([fe80::d067:93ef:f184:668a%4]) with mapi id 15.20.6086.023; Sun, 12 Feb 2023 23:44:00 +0000 Message-ID: <0a4a8828-ed9a-66d4-f65c-f2f386768bdb@prevas.dk> Date: Mon, 13 Feb 2023 00:43:57 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Content-Language: en-US, da To: libc-alpha@sourceware.org From: Rasmus Villemoes Subject: commit 16adc58e73f3 (stdlib: Fix data race in __run_exit_handlers [BZ #27749]) Cc: Vitaly Buka , Adhemerval Zanella Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: BE1P281CA0177.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:66::6) To DU0PR10MB5266.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:34a::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR10MB5266:EE_|PAVPR10MB6914:EE_ X-MS-Office365-Filtering-Correlation-Id: f621ce45-f7b0-4a7d-c034-08db0d5303c3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: t1h7s+qLqAayfiBn5s9AVI5rbDy98Y86Fbb/+6eBTAKiWEeZgdw1oBPdzCbEIJzjx1n27o1vIbi7jII6agFSfPpPVAsHQBq/sivS79pCWT+0h9pigvIhmDrsdNKfPKVjHnYZAHIHyajmxNjxD2/6C51qCqGszKkF76oqfUWuh1khmjex46e9CZ1F+aK3CfpGJSil51QrRf4qp3dlxvH0+axYJww+rwb3KDOLnpYlX+YXlE5iKEufjTeeaAICcbk4dlJcBZUA02xKjWDW+LMG1QL08AmTxHYPJFSXHfjbJmaPId0uB0MBKWDhhdI2/iLSYwHW+Z1rSaJ83mPcTtMTv82HN7xl406lCqAinGb6JhxVuTUyrpyRzCjstIkOO0oD7OafujTYy3oYm1tHmoh4LRUXVvj5f74nqinc87YYiYdNLmmIkDrJS0s2WrJdeS+vA2i5uHixZWFuXIw2KXlDMG2J0DkBI5nyQMhUoCuFs/Huk+NeB3FHdtcB/KVwTJ6SUzs1+SlcBFr5hEAw1uBB0SMKG7U0p+BbjoQ8EXPEgRktuL+Z23lc8FDblhmAe7HTtoB1cf/2yWMZ9gwKeq2Qe3xYrV3lCaSJYq0x1ptp9BGoUNqC/ozjVO6UbI/XbWX5fE1KupvZE1bE6yxcqtBDnaQYLBnrjZ22MKYVFYIZDu5Rva4kgxsHMOHHjD+GN6iZR1LL0Zp43pkESQhsnIVO/TyriySpd4C+hX97s7z7dIK72BuxTWG++IXpiiFmNjL0x0cDCEQ+ubFbJmOp2GiD0w== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR10MB5266.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(376002)(396003)(39840400004)(346002)(451199018)(31696002)(36756003)(86362001)(66946007)(8676002)(66476007)(4326008)(6916009)(66556008)(316002)(6506007)(54906003)(6666004)(2616005)(186003)(26005)(6512007)(31686004)(6486002)(52116002)(478600001)(2906002)(44832011)(38100700002)(8936002)(8976002)(41300700001)(5660300002)(38350700002)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SnhjOTdNNElpZVhhZmpCKy9wSEEwUWlDOHMwV2lEWjkwdnFiNll0MEtKTFdL?= =?utf-8?B?aXZBdEtCcGZXajRXWVZwWTd0bTlJQkhlTlZKWGExMUM3TWMwdm9uY3VnbmxO?= =?utf-8?B?SW44V25zb3NyNDE0TTZlUkdRQmJSdWJhY0ovK3BuYU1tMlFid3QwemdOVzNr?= =?utf-8?B?WVhWQm5ZSUttVnZrdDVoVWZ1a3AvZXlGbzB4bzZCS3RtbGNaL1FiTGlMMG96?= =?utf-8?B?TXdUd0g4QitNZktLWXhDSnN1MnlMTkttOGZhMUFnL2IxMElxQWFEaVRzMnF6?= =?utf-8?B?Njd5ZVJvS3p3WUQ0aFRDMyt3c2NWaURFM05xMW9kY1dWMjZidGdlcjMxandz?= =?utf-8?B?MWtpTU9JeFNsQXJhWEg4ejhRK2tlYmoxcEhZc3MvcTFJWXZHL1FrS1F6ZkdZ?= =?utf-8?B?OG91NkI2QjNNSS9tVmxLZEYrNHlONVIvdU1CZTNtTGcxSmJSdkkxb0RpaXo1?= =?utf-8?B?NUt6NXZ0RjVsclJSQi9sV28xZ29NckpoanNPNkMrckc5NnhmdCtINUkxZWhz?= =?utf-8?B?MmhSTHNXOVlLU2RheHpMQXRsY1gzYWZZQ01wTlJhNG1Nb3JnWVVJOUlFV1VS?= =?utf-8?B?RTJkOFNkNTM3K3cxV0YrM01UVVh2Tkh3UE1uVWRQK2oyV1htZUNJUVovWFJ6?= =?utf-8?B?eE0xSEdTZ0VsWm1MY1VwOXQ1WmJvVHROM1pmbWl6eHVxY3RiTUswcnZiS1ZN?= =?utf-8?B?QklvK0tIQVBsendocnY1VUpKTG5pTUtKaDRYTTVSVUVoVldtRVdPbklzRzNm?= =?utf-8?B?SzBGTGdHbnBRVXRyRUVlT2svTjlSeGtYclNDY0tORjNBT2ZlMWl4Smp0SkFr?= =?utf-8?B?dlBSTTNvYkRnNDFQZWJQSEZuK0d0M0t3VHJQS2pGY1pRWUdYYXM2WXlhMi9O?= =?utf-8?B?QWNLNTVVai9zTEs4RlU2WWFyY2FxaDdNN1E5bG5ieVNBTHN6cm9UcWtCRGFl?= =?utf-8?B?NTdmNjB2VFlVRDkxT0o4ekwyL0FBa2p6TEpiMjNrVWpoVEwrM3EvSW9MNHhY?= =?utf-8?B?RnBRYUgvbm1KZi8zaEJZc3krUWpTejQ2aHFQb0JhU0xUTkVEV2NubSt6N0E2?= =?utf-8?B?enFOOVpxSlAvZUJETVdPWlRmUWMxYVpyUUVDL1Y1SithUk1BNGdOL2g4QXo0?= =?utf-8?B?Wkh6UzRQVlJ6Zmhiay9vZUJLYjhOTWI4OU1pZmJjSFhKb1RaeUVSekV6TmIw?= =?utf-8?B?NlpUbmQ3bnJ3Y2tyWEJnOHA5amZwSnlFTSsrcnVhWHBXZWxrQ3ZjM3RER1pF?= =?utf-8?B?WFArR0gxYUpETURoOXdJSjdYYUUrbzBGUjVOSks3S2N2ODlXNmllTG5GMDdt?= =?utf-8?B?MUhpM2pMN1ZhZE1JcEpzTFkzanNIak53Z1hkZzlCQ2pvbWtTbGdFbmsrajA3?= =?utf-8?B?ZWlCTVM3QlpWdXdoMk1rc2dEMk9pcDVpeDJ5UDFzRHdXVVZVTEdEM2Q2VzNW?= =?utf-8?B?T2NnSFptaU4reGdEbzcxQm9Xd2pXYzV3N1gyb2JxTFB2WkkrY0dUOGg3bmFJ?= =?utf-8?B?QTA2dHlJdFFzRXFFSm5KNnBKZVhpbDFTRDRmVXFNdnA0QWhlYW9tVzJCVWY4?= =?utf-8?B?UlRuVzdXak4vWmh1K0p5MEpSRHUwaTEzQ0hhQWZUU2tSVnNMUXQ4T2l2Nkpu?= =?utf-8?B?Q1p5U0hpZGprdDNsMGNvY201elN6M0taZW1QWk9NaWtOYlh0b2llVzY4Zk5Q?= =?utf-8?B?SCs3azFzT3R1YlBCZ3Q1WERySERZWWRsVlY5T3ZZMldKbmIzcG5UTW5ESVBj?= =?utf-8?B?Q3dZcEVlS0U4bHN3MmJ2Tkk4djFlU2tkSnFmSmRvQk5vYTdRejhOMjZYR25F?= =?utf-8?B?djB0RFhqclFPSlRzOWhVUEt5WGQvWDY5L0tUbFR4cFdXczlvcW8wQ29uSTN6?= =?utf-8?B?RE5VNHQzZE80OEt6WE11WWhLblg1bkI0ZWlCZEhKNC9jalB4L0ZUTENDU0hU?= =?utf-8?B?ZS8yenpBSmJ2ZXM3YVFwSkxaSjRNODFaV3RSQ05USzlac2t4Y2dLWjVQQnFj?= =?utf-8?B?UnpGZUFuVDBIc3A0TGNUK3Z0bFR2R1R6eXJBU2Y3Q2tLMXdpS1dTVmdweWkw?= =?utf-8?B?Vzg3VXFPR0hjQS9FSlp3b1pZOWozWDB6STZDcGRlbGJGR0xMZGpTdWJUNmc3?= =?utf-8?B?aVliZGNvOHpNWFIvanlCcFZRV3k4ekNEYnJYWGxzcVh2UTFRRDl6R0ZXWXUx?= =?utf-8?B?eXc9PQ==?= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: f621ce45-f7b0-4a7d-c034-08db0d5303c3 X-MS-Exchange-CrossTenant-AuthSource: DU0PR10MB5266.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Feb 2023 23:44:00.1070 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pMEOzkGCnr2PNSYPRu+0RuG726n5kYfZeDnuH/xpaai+GTisZpN5IDoYb+AQPiI2hlm0gjI4ItNqAvy5VJnTvqjbuhbNfSXljaYUnAQkJ1I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR10MB6914 X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: I think the commit in $subject is broken. I was browsing through the atexit handling code and stumbled on something which is always a code smell, namely the pattern if (whatever) continue; at the end of a loop. And indeed, since we no longer jump back to the outer loop and refetch the list head, one can observe a change in behavior. This program: #include #include void h(void) { printf("third: %s()\n", __func__); } void j(void) { printf("second: %s()\n", __func__); } void g(void) { printf("first: %s()\n", __func__); atexit(h); atexit(j); } void f(void) { static int c; printf("%s: %d\n", __func__, ++c); } int main(int argc, char *argv[]) { int i; /* * Stuff the "struct exit_function_list" with dummy callbacks; * 30 may need to be adjusted depending on how many atexit() * registrations libc itself does. */ for (i = 0; i < 30; ++i) atexit(f); /* Register one more, to fill the last slot in struct exit_function_list. */ atexit(g); return 0; } used to print first: g() second: j() third: h() f: 1 ... f: 30 but now it instead prints first: g() third: h() f: 1 ... f: 30 second: j() Rasmus