GNU bug report logs - #77640
[platform-testers] new snapshot available: gzip-1.13.56-e549

Previous Next

Package: gzip;

Reported by: "Nelson H. F. Beebe" <beebe <at> math.utah.edu>

Date: Tue, 8 Apr 2025 13:09:01 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: "Nelson H. F. Beebe" <beebe <at> math.utah.edu>
Cc: 77640 <at> debbugs.gnu.org
Subject: bug#77640: [platform-testers] new snapshot available: gzip-1.13.56-e549
Date: Tue, 8 Apr 2025 13:49:10 -0700
On 2025-04-08 11:43, Nelson H. F. Beebe wrote:
> Here is the requested test on DragonFlyBSD for gzip-1.13.56-e549:
> 
> % cat foo.sh
> #! /bin/sh
> mkdir d
> echo >d/f
> chmod a-w d
> ./gzip d/f
> 
> % ./foo.sh
> gzip: d/f.gz already exists; do you wish to overwrite (y or n)? y
> gzip: d/f.gz: No such file or directory
> 
> I then applied the one-line patch to tests/write-error:
> 
> %  diff ./write-error.org ./write-error
> 27c27,28
> < if test -w d || test `id -u` = 0; then
> ---
>> # if test -w d || test `id -u` = 0; then
>> if echo > d/e; then
> 
> % cd ..
> % make check
> ... PASS reports ...
> PASS: unpack-invalid
> PASS: unpack-valid
> PASS: upper-suffix
> [hangs at this point]
> 
> If I run the script in the tests directory, I get
> 
> %  ./write-error
> ./write-error: cannot create d/e: Permission denied
> [again at this point]

Thanks for the further checking on DragonFlyBSD. My guess about the 
syscall bug was incorrect, unfortunately.

I suspect that openat with O_WRONLY|O_CREAT|O_EXCL isn't working 
correctly if the directory fd points to an unwriteable directory opened 
via O_SEARCH|O_DIRECTORY, and that openat misbehaves by failing with 
errno==EEXIST. If my guess is right, I don't see an easy way for gzip to 
work around the kernel bug.




This bug report was last modified 64 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.