GNU bug report logs - #48106
bug: touch utility does not handle file create error properly

Previous Next

Package: coreutils;

Reported by: Roland <devzero <at> web.de>

Date: Thu, 29 Apr 2021 18:40:02 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Roland <devzero <at> web.de>
Subject: bug#48106: closed (Re: bug#48106: bug: touch utility does not
 handle file create error properly)
Date: Sat, 01 May 2021 22:49:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#48106: bug: touch utility does not handle file create error properly

which was filed against the coreutils package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 48106 <at> debbugs.gnu.org.

-- 
48106: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=48106
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Roland <devzero <at> web.de>
Cc: 48106-done <at> debbugs.gnu.org
Subject: Re: bug#48106: bug: touch utility does not handle file create error
 properly
Date: Sat, 1 May 2021 15:48:43 -0700
[Message part 3 (text/plain, inline)]
Thanks for reporting the problem. I installed the attached to fix it.
[0001-touch-fix-wrong-diagnostic-Bug-48106.patch (text/x-patch, attachment)]
[Message part 5 (message/rfc822, inline)]
From: Roland <devzero <at> web.de>
To: bug-coreutils <at> gnu.org
Subject: bug: touch utility does not handle file create error properly
Date: Thu, 29 Apr 2021 20:23:47 +0200
hello,

touch utility telling weird error on file creation on a immutable/ro dir.

apparently, it does not catch/report the first error (EPERM) but only
the second one (ENOENT), when trying to set the time on the non-existing
file.

regards
roland kletzing
sysadmin

root <at> s900:/tmp# mkdir /tmp/test
root <at> s900:/tmp# chown 0400 /tmp/test/
root <at> s900:/tmp# chattr +i /tmp/test
root <at> s900:/tmp# touch /tmp/test/testfile
touch: setting times of '/tmp/test/testfile': No such file or directory

root <at> s900:/tmp# strace touch /tmp/test/testfile 2>&1 |grep -i test
execve("/usr/bin/touch", ["touch", "/tmp/test/testfile"], 0x7ffe690abb88
/* 19 vars */) = 0
openat(AT_FDCWD, "/tmp/test/testfile",
O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = -1 EPERM (Operation not
permitted)
utimensat(AT_FDCWD, "/tmp/test/testfile", NULL, 0) = -1 ENOENT (No such
file or directory)
write(2, "setting times of '/tmp/test/test"..., 37setting times of
'/tmp/test/testfile') = 37

# touch  --version
touch (GNU coreutils) 8.30

(on debian 10.9)




This bug report was last modified 4 years and 19 days ago.

Previous Next


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