GNU bug report logs - #33287
[PATCH] sync: add missing brackets in sync_arg()

Previous Next

Package: coreutils;

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


Message #19 received at 33287 <at> debbugs.gnu.org (full text, mbox):

From: Kamil Dudka <kdudka <at> redhat.com>
To: Bernhard Voelker <mail <at> bernhard-voelker.de>
Cc: eggert <at> cs.ucla.edu, 33287 <at> debbugs.gnu.org
Subject: Re: bug#33287: [PATCH] sync: add missing brackets in sync_arg()
Date: Wed, 07 Nov 2018 09:24:38 +0100
On Wednesday, November 7, 2018 12:33:45 AM CET Bernhard Voelker wrote:
> 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?

Looks good.  Thanks for the follow-up patch!

Kamil

> Thanks & have a nice day,
> Berny






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.