From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 10 12:40:06 2016 Received: (at submit) by debbugs.gnu.org; 10 Oct 2016 16:40:06 +0000 Received: from localhost ([127.0.0.1]:51392 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1btdcT-0004Hd-Vf for submit@debbugs.gnu.org; Mon, 10 Oct 2016 12:40:06 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34724) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1btdcR-0004H2-TK for submit@debbugs.gnu.org; Mon, 10 Oct 2016 12:40:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1btdcL-0007rE-ST for submit@debbugs.gnu.org; Mon, 10 Oct 2016 12:39:58 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.5 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:50357) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1btdcL-0007qr-Pm for submit@debbugs.gnu.org; Mon, 10 Oct 2016 12:39:57 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53908) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1btdcJ-00042E-B4 for bug-guile@gnu.org; Mon, 10 Oct 2016 12:39:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1btdcE-0007oo-Td for bug-guile@gnu.org; Mon, 10 Oct 2016 12:39:54 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51659) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1btdcE-0007oa-Qk for bug-guile@gnu.org; Mon, 10 Oct 2016 12:39:50 -0400 Received: from pluto.bordeaux.inria.fr ([193.50.110.57]:40002 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1btdcD-0004V9-QR for bug-guile@gnu.org; Mon, 10 Oct 2016 12:39:50 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: bug-guile@gnu.org Subject: 'mkdir' procedure is neither thread-safe nor safe (2.0.12) X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 19 =?utf-8?Q?Vend=C3=A9miaire?= an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Mon, 10 Oct 2016 18:39:47 +0200 Message-ID: <87pon8ma3w.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.3 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.3 (-----) Hello! When the optional =E2=80=98mode=E2=80=99 argument to the =E2=80=98mkdir=E2= =80=99 procedure is omitted, umask(2) is used to find out what the current mask is and to compute the mode argument to mkdir(2): --8<---------------cut here---------------start------------->8--- if (SCM_UNBNDP (mode)) { mask =3D umask (0); umask (mask); STRING_SYSCALL (path, c_path, rv =3D mkdir (c_path, 0777 ^ mask)); } --8<---------------cut here---------------end--------------->8--- The problem is that this changes the process=E2=80=99 umask globally for a = short duration, during which other threads will get 0 as the mask=E2=80=A6 Furthermore, AFAICS, the above logic is redundant with what the kernel does anyway. That is, in a single-threaded program, mask =3D umask (0); umask (mask); mkdir (file, 0777 ^ mask); is equivalent to: mkdir (file, 0777); Am I right that we should just remove these two =E2=80=98umask=E2=80=99 cal= ls? Ludo=E2=80=99. PS: This code has been there since 1996 or earlier. From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 10 14:26:07 2016 Received: (at submit) by debbugs.gnu.org; 10 Oct 2016 18:26:07 +0000 Received: from localhost ([127.0.0.1]:51453 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1btfH5-0006nU-Kl for submit@debbugs.gnu.org; Mon, 10 Oct 2016 14:26:07 -0400 Received: from eggs.gnu.org ([208.118.235.92]:35532) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1btfH4-0006n1-8u for submit@debbugs.gnu.org; Mon, 10 Oct 2016 14:26:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1btfGx-0000Dy-JG for submit@debbugs.gnu.org; Mon, 10 Oct 2016 14:26:00 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:48728) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1btfGx-0000Dq-GV for submit@debbugs.gnu.org; Mon, 10 Oct 2016 14:25:59 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54723) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1btfGu-0002S4-Hy for bug-guile@gnu.org; Mon, 10 Oct 2016 14:25:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1btfGr-0000Cw-AW for bug-guile@gnu.org; Mon, 10 Oct 2016 14:25:56 -0400 Received: from mail.tuxteam.de ([5.199.139.25]:46995 helo=tomasium.tuxteam.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1btfGr-0000AJ-4Z for bug-guile@gnu.org; Mon, 10 Oct 2016 14:25:53 -0400 Received: from tomas by tomasium.tuxteam.de with local (Exim 4.80) (envelope-from ) id 1btfGb-000789-9P for bug-guile@gnu.org; Mon, 10 Oct 2016 20:25:37 +0200 Date: Mon, 10 Oct 2016 20:25:37 +0200 To: bug-guile@gnu.org Subject: Re: bug#24659: 'mkdir' procedure is neither thread-safe nor safe (2.0.12) Message-ID: <20161010182537.GA27089@tuxteam.de> References: <87pon8ma3w.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; x-action=pgp-signed Content-Transfer-Encoding: 8bit In-Reply-To: <87pon8ma3w.fsf@gnu.org> User-Agent: Mutt/1.5.21 (2010-09-15) From: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Mon, Oct 10, 2016 at 06:39:47PM +0200, Ludovic Courtès wrote: > Hello! [...] > Furthermore, AFAICS, the above logic is redundant with what the kernel > does anyway. That is, in a single-threaded program, > > mask = umask (0); > umask (mask); > mkdir (file, 0777 ^ mask); > > is equivalent to: > > mkdir (file, 0777); > > Am I right that we should just remove these two ‘umask’ calls? According to umask(2), yes, you are right. Unless someone has been trying to work around some platform-specific bug/idiosyncracy. Regards - -- t -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAlf73SEACgkQBcgs9XrR2kZehwCfQ+P2CMZt8doHe2tKi0u1Yc7f RU0An0WY1oEq/b3vu/X1rNWjTP7ZxUsY =7Jhs -----END PGP SIGNATURE----- From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 11 03:56:56 2016 Received: (at request) by debbugs.gnu.org; 11 Oct 2016 07:56:56 +0000 Received: from localhost ([127.0.0.1]:51676 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1btrvj-0002LM-Pe for submit@debbugs.gnu.org; Tue, 11 Oct 2016 03:56:55 -0400 Received: from eggs.gnu.org ([208.118.235.92]:46598) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1btrvj-0002LA-Ax for request@debbugs.gnu.org; Tue, 11 Oct 2016 03:56:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1btrvb-0007Ho-4e for request@debbugs.gnu.org; Tue, 11 Oct 2016 03:56:50 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00,MISSING_SUBJECT, RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:33328) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1btrvb-0007HT-1L for request@debbugs.gnu.org; Tue, 11 Oct 2016 03:56:47 -0400 Received: from pluto.bordeaux.inria.fr ([193.50.110.57]:59500 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1btrvZ-0002rY-Av for request@debbugs.gnu.org; Tue, 11 Oct 2016 03:56:45 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: request@debbugs.gnu.org X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 20 =?utf-8?Q?Vend=C3=A9miaire?= an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Tue, 11 Oct 2016 09:56:42 +0200 Message-ID: <87r37n1fph.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -3.4 (---) X-Debbugs-Envelope-To: request X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.4 (---) severity 24659 important severity 20272 important thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 11 05:13:42 2016 Received: (at 24659) by debbugs.gnu.org; 11 Oct 2016 09:13:42 +0000 Received: from localhost ([127.0.0.1]:51717 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1btt7y-0000vH-T8 for submit@debbugs.gnu.org; Tue, 11 Oct 2016 05:13:42 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40564) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1btt7t-0000uy-Cw for 24659@debbugs.gnu.org; Tue, 11 Oct 2016 05:13:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1btt7j-0006zd-LS for 24659@debbugs.gnu.org; Tue, 11 Oct 2016 05:13:28 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:34538) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1btt7j-0006zZ-IL; Tue, 11 Oct 2016 05:13:23 -0400 Received: from pluto.bordeaux.inria.fr ([193.50.110.57]:60162 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1btt7i-0000Ge-Sh; Tue, 11 Oct 2016 05:13:23 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Subject: Re: bug#24659: 'mkdir' procedure is neither thread-safe nor safe (2.0.12) References: <87pon8ma3w.fsf@gnu.org> <20161010182537.GA27089@tuxteam.de> Date: Tue, 11 Oct 2016 11:13:19 +0200 In-Reply-To: <20161010182537.GA27089@tuxteam.de> (tomas@tuxteam.de's message of "Mon, 10 Oct 2016 20:25:37 +0200") Message-ID: <871szn1c5s.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.3 (-----) X-Debbugs-Envelope-To: 24659 Cc: 24659@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.3 (-----) Hi, skribis: > On Mon, Oct 10, 2016 at 06:39:47PM +0200, Ludovic Court=C3=A8s wrote: >> Hello! > > [...] > >> Furthermore, AFAICS, the above logic is redundant with what the kernel >> does anyway. That is, in a single-threaded program, >> >> mask =3D umask (0); >> umask (mask); >> mkdir (file, 0777 ^ mask); >> >> is equivalent to: >> >> mkdir (file, 0777); >> >> Am I right that we should just remove these two =E2=80=98umask=E2=80=99 = calls? > > According to umask(2), yes, you are right. Unless someone has been > trying to work around some platform-specific bug/idiosyncracy. I don=E2=80=99t think there was ever a good reason for this. Fixed in 245608911698adb3472803856019bdd5670b6614. Thanks for your feedback, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 11 05:14:39 2016 Received: (at request) by debbugs.gnu.org; 11 Oct 2016 09:14:40 +0000 Received: from localhost ([127.0.0.1]:51721 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1btt8x-0000x5-PC for submit@debbugs.gnu.org; Tue, 11 Oct 2016 05:14:39 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40850) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1btt8v-0000wt-Td for request@debbugs.gnu.org; Tue, 11 Oct 2016 05:14:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1btt8q-0007Zf-4c for request@debbugs.gnu.org; Tue, 11 Oct 2016 05:14:32 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00,MISSING_SUBJECT, RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:34554) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1btt8q-0007Zb-1G for request@debbugs.gnu.org; Tue, 11 Oct 2016 05:14:32 -0400 Received: from pluto.bordeaux.inria.fr ([193.50.110.57]:60208 helo=pluto) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1btt8p-0000KU-BW for request@debbugs.gnu.org; Tue, 11 Oct 2016 05:14:31 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: request@debbugs.gnu.org Date: Tue, 11 Oct 2016 11:14:27 +0200 Message-ID: <87wphfz1qk.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -3.4 (---) X-Debbugs-Envelope-To: request X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.4 (---) close 24659 2.0.13 thanks From unknown Tue Aug 19 23:13:06 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 08 Nov 2016 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator