bug-gnulib@gnu.org mirror (unofficial)
 help / color / mirror / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: "Florian Weimer" <fw@deneb.enyo.de>, "Pádraig Brady" <P@draigBrady.com>
Cc: Kamil Dudka <kdudka@redhat.com>, bug-gnulib@gnu.org
Subject: Re: [PATCH] fchmodat, lchmod: port to buggy Linux filesystems
Date: Wed, 11 Mar 2020 01:03:57 -0700	[thread overview]
Message-ID: <bdced4c8-bcef-70c7-4382-b0eb6d1c7615@cs.ucla.edu> (raw)
In-Reply-To: <87o8t40zz7.fsf@mid.deneb.enyo.de>

On 3/10/20 12:30 PM, Florian Weimer wrote:
> The glibc implementation needs /proc to avoid the race.  There is no
> way around that, otherwise we introduce a security vulnerability.

It is unfortunate that we have dueling paranoia here. coreutils mknod is 
paranoid so it uses lchmod to avoid a race, and then glibc lchmod is paranoid so 
it refuses to work with lchmod unless /proc is mounted.

Since we apparently cannot avoid a race unless /proc is mounted, I suppose we 
could change gnulib lchmod to consider the current glibc behavior to be a bug, 
and to fall back on lstat+chmod when /proc is not mounted. This would fix 
coreutils and every other Gnulib-using program that uses lchmod or fchmodat. But 
on the whole it would be somewhat cleaner if glibc lchmod and fchmodat were 
merely documented to have races when /proc is not mounted; that'd be simpler 
than manually adjusting all programs that use glibc lchmod so that they all 
explicitly have races when /proc is not mounted.


  reply	other threads:[~2020-03-11  8:04 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-13 18:42 [PATCH] fchmodat, lchmod: port to buggy Linux filesystems Paul Eggert
2020-02-14  3:29 ` Bruno Haible
2020-02-16 17:24   ` Bruno Haible
2020-02-16 18:31     ` Paul Eggert
2020-02-16 18:58       ` Bruno Haible
2020-02-14  3:46 ` Bruno Haible
2020-02-14 21:02   ` Paul Eggert
2020-02-16 21:38     ` Bruno Haible
2020-02-16 22:28       ` Bruno Haible
2020-02-22 23:46       ` Bruno Haible
2020-02-23  8:15         ` Paul Eggert
2020-02-23 10:58           ` Bruno Haible
2020-02-23 23:56             ` Paul Eggert
2020-02-24  2:27               ` overriding glibc stub functions Bruno Haible
2020-02-24  7:44                 ` Paul Eggert
2020-02-23  1:35 ` [PATCH] fchmodat, lchmod: port to buggy Linux filesystems Bruno Haible
2020-02-23  7:22   ` Paul Eggert
2020-03-09 17:30 ` Pádraig Brady
2020-03-09 18:51   ` Paul Eggert
2020-03-09 23:45     ` Pádraig Brady
2020-03-10 11:52       ` Florian Weimer
2020-03-10 15:09         ` Kamil Dudka
2020-03-10 19:27         ` Pádraig Brady
2020-03-10 19:30           ` Florian Weimer
2020-03-11  8:03             ` Paul Eggert [this message]
2020-03-11  8:45               ` Florian Weimer
2020-03-11 16:04                 ` Paul Eggert
2020-03-11  8:25             ` Paul Eggert
2020-03-11  8:40               ` Florian Weimer
2020-03-11  9:04             ` Kamil Dudka
2020-03-11 16:36               ` Paul Eggert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.gnu.org/mailman/listinfo/bug-gnulib

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bdced4c8-bcef-70c7-4382-b0eb6d1c7615@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=P@draigBrady.com \
    --cc=bug-gnulib@gnu.org \
    --cc=fw@deneb.enyo.de \
    --cc=kdudka@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).