GNU bug report logs -
#33287
[PATCH] sync: add missing brackets in sync_arg()
Previous Next
Reported by: Kamil Dudka <kdudka <at> redhat.com>
Date: Tue, 6 Nov 2018 12:04:01 UTC
Severity: normal
Tags: patch
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
[Message part 1 (text/plain, inline)]
On 11/6/18 7:35 PM, Paul Eggert wrote:
> Thanks, I installed that and am closing the bug report.
That was a real bug, i.e., not only a resource leak, wasn't it?
If the calling user has -r+w permissions on the file, then sync previously
exited with 1 without actually syncing:
$ install -m 0200 /dev/null /tmp/file
$ ls -log /tmp/file
--w------- 1 0 Nov 7 00:06 /tmp/file
$ strace -v /usr/bin/sync /tmp/file 2>&1 | tail -n6
openat(AT_FDCWD, "/tmp/file", O_RDONLY|O_NONBLOCK) = -1 EACCES (Permission denied)
openat(AT_FDCWD, "/tmp/file", O_WRONLY|O_NONBLOCK) = 3
close(1) = 0
close(2) = 0
exit_group(1) = ?
+++ exited with 1 +++
With the patch, fsync is called, and sync terminated with success:
$ strace -v src/sync /tmp/file 2>&1 | tail
openat(AT_FDCWD, "/tmp/file", O_RDONLY|O_NONBLOCK) = -1 EACCES (Permission denied)
openat(AT_FDCWD, "/tmp/file", O_WRONLY|O_NONBLOCK) = 3
fcntl(3, F_GETFL) = 0x8801 (flags O_WRONLY|O_NONBLOCK|O_LARGEFILE)
fcntl(3, F_SETFL, O_WRONLY|O_LARGEFILE) = 0
fsync(3) = 0
close(3) = 0
close(1) = 0
close(2) = 0
exit_group(0) = ?
+++ exited with 0 +++
Should we add a NEWS entry and a test - see attached?
Thanks & have a nice day,
Berny
[0001-sync-add-NEWS-and-test-for-the-fix-in-the-previous-c.patch (text/x-patch, attachment)]
This bug report was last modified 6 years and 282 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.