From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2 autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 28744 invoked from network); 11 Feb 2023 17:13:55 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 11 Feb 2023 17:13:55 -0000 Received: (qmail 7298 invoked by uid 550); 11 Feb 2023 17:13:52 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 7266 invoked from network); 11 Feb 2023 17:13:51 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=s31663417; t=1676135619; bh=yCAwDVZfPSSEnua+1+QZ8TKUovKE+F6JdDIrx8YxJPo=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:References:In-Reply-To; b=QcrE3ij51qU6xsjrCBH3KYsObda6VFHODlRbY+Qu6PzyBIOOZMQmF4V5TmZQQrzs6 lvbcr3tZ4rcsRxFXjaB/FNPG2KbYlEM+alYaUenwWIfnaGN5bp84Yl8dDYtX2YOwNo 99I9fovbED/0lqM1uRU59WA/Dp34fFPxOQNcmFkmIuHK8II/Q+vERwKW2Sqs+tZeSk zmO7YwTJ1Bs35GU7qKGFXEUupmSv3lyakLLjx3KFCx3BLuqo/ScUij5utTo36PWwMv 4DggiYNTi5csHDIzLSmb2PWnmN4ESN/GKpxOoKalG2rQTVRCfKQ6HV+XZ1Qa9aGbOy xfCHwQKf7PKBw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Date: Sat, 11 Feb 2023 18:13:38 +0100 From: Markus Wichmann To: musl@lists.openwall.com Cc: Alexey Izbyshev Message-ID: <20230211171338.GD1903@voyager> References: <20221109104613.48062-1-izbyshev@ispras.ru> <20221214022618.GB15716@brightrain.aerifal.cx> <1a0289c15879bef6d538c0066f58545c@ispras.ru> <20230210162957.GB4163@brightrain.aerifal.cx> <63c0897d647936c946268f5a967a5e4d@ispras.ru> <20230211150603.GI4163@brightrain.aerifal.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230211150603.GI4163@brightrain.aerifal.cx> User-Agent: Mutt/1.9.4 (2018-02-28) X-Provags-ID: V03:K1:CTl97zUxSfNaSCb1fWvElAqjRUQi4muYvyzAXKxeflCBj6KLm7b VzNL1ijp2DUzQTOp9Ujmlviy3ctR+mv6ozARJ3BXsmfEVF5fq+fUoB06DEyCdZEPzKtcwR5 8YI05YItI/JX18AIIDp+f9pVq/AEge4yC7bU6Wi34FoeUD93n9TlVGpPstpG7nO4f8Ipr8s BLkaVwG8jRoPfZ82bvFFA== UI-OutboundReport: notjunk:1;M01:P0:eENrSmd0u/w=;dxNna+v1PYKgzdC0gLGDzT1zHpO gxJHpZO2Xvq6gdzLjv5XSj4MJpqZjdazuYyBBPJaB78+uAC7c6W8BsX0ZfghoKjoO8bQtTe6J /za1h3D4NgZWMWYHl96wptaPrs8ZTbBq9alpc15Lq6d+XVH4Yyk8iyH/cGAE5OXaFFaJV2Vwe FjIzMCqRNLeXV0g04GNpuNt4l7bHvCoa7XYfqcnSUbE/cqvXdTf2cSkjFrFetgL7wSzVPgMZ9 A3ifUt8WS/hPKw78oq2YRZcDv/RBzJ4Mtg+54Db/5zJcZI6vqX7KKtxhIUvqf1cTNX47f/hsc 8qHmqHiLeF6F1TNNhrYQTQfI9GKNvUa19/MjZD+SjCB8CD1DaEwMFQKVHQQGAu5CW7Q/b0oiG 404KCFY+K8OT//D8ORaVEj4pfbLz5F0l/A8JGBoaSmPMlngc/P0HJeYipy+DxZSd9F9gkMImi 27SyRWcxYWxF6M2jNnOxW2NmwRZqzYV1dZKAyLIwjP+N7XwlZhE61LiRA1OUHlNVJBApgb96r 9HFNn4l9q3YWRTTH2cZQuSu7Y7UrAKo96BJvRy3VRm77pzwNCrKSkKm9GaWOdNrJUiDYScPNV HLVP8+yd3rmbyPHT7J/YJWnCKVf5wQsBCSs5u2Kj23J+pUozwhJedWx5tQntpsZqc/JPpFbze +6u7SVJDiQKdzoX4B2WnGcZbyz2OQIGkqQ5RIxS0V77Zbub/fJbDA2dXFBhT6gk8h4xpOTrZS 2xizapzPtnequk1t1WP3w4yGnPezoXC60LXS5TG5UVavQvkaIIs83ZsS73RP/BdLqn00fIJyX 2Hdx9tnSYiCbLY1QE8EnuPYyJC/iZA8Y0Es4o11rxHzn/HbzQC0yxScHfyp2+IBrSulofOXZ6 +iYWiJWKJyGy5YvpZMTNm7H0ZA6e4C1wYx6+i7/Sk/SYVPgoDH0ycexDKDzai4JKSxE3VNr7T O+FsJ/9bY1MJL4kaKfWCrvbzTy0= Content-Transfer-Encoding: quoted-printable Subject: Re: [musl] [PATCH] mq_notify: fix close/recv race on failure path On Sat, Feb 11, 2023 at 10:06:03AM -0500, Rich Felker wrote: > --- a/src/thread/pthread_detach.c > +++ b/src/thread/pthread_detach.c > @@ -5,8 +5,12 @@ static int __pthread_detach(pthread_t t) > { > /* If the cas fails, detach state is either already-detached > * or exiting/exited, and pthread_join will trap or cleanup. */ > - if (a_cas(&t->detach_state, DT_JOINABLE, DT_DETACHED) !=3D DT_JOINABLE= ) > + if (a_cas(&t->detach_state, DT_JOINABLE, DT_DETACHED) !=3D DT_JOINABLE= ) { > + int cs; > + __pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs); > return __pthread_join(t, 0); ^^^^^^ I think you forgot to rework this. > + __pthread_setcancelstate(cs, 0); > + } > return 0; > } > I see no other obvious missteps, though. Ciao, Markus