Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Oct 2003 02:49:51 +0200
From:      Matthias Andree <ma@dt.e-technik.uni-dortmund.de>
To:        freebsd-stable@freebsd.org
Subject:   Re: Final 4.9-RC (i386) available now, please help test.
Message-ID:  <m3he1ynntc.fsf@merlin.emma.line.org>
In-Reply-To: <20031024192152.GD11573@freebsdmall.com> (Murray Stokely's message of "Fri, 24 Oct 2003 12:21:52 -0700")
References:  <20031024192152.GD11573@freebsdmall.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Murray Stokely <murray@freebsd.org> writes:

> RC4 includes the SATA and DRM fixes, along with a few other
> panic-preventing bugfixes.  If everything goes well we can release 4.9
> on Monday.

May not be release critical, but rather fine tuning:

The install program does strange things, even in -S mode.

A regular -c install operation flow is similar to:

kill destination file
open destination file with mode 0600
copy content
close
fchmod
fchflags

Problem: there is a short period where the program, when overwritten, is
not executable ("permission denied").

One could think install -S (S for safe) would fix that, but it doesn't,
strace:

rename("/tmp/INS@02eI", "/tmp/x2")      = 0
  <- here the /tmp/x2 file is not accessible
close(4)                                = 0
open("/tmp/x2", O_RDONLY)               = 4
fstat(4, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
fchmod(4, 0755)                         = 0
fchflags(4, 0)                          = 0

I'd suggest the order be

fchmod
close
rename
open
fchflags
...

That way, the program installed will always be executable if the user
tells FreeBSD to "install -S".

-- 
Matthias Andree

Encrypt your mail: my GnuPG key ID is 0x052E7D95



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?m3he1ynntc.fsf>