Final 4.9-RC (i386) available now, please help test.

Matthias Andree ma at dt.e-technik.uni-dortmund.de
Fri Oct 24 17:49:55 PDT 2003


Murray Stokely <murray at 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 at 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


More information about the freebsd-stable mailing list