lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 23 Oct 2006 06:33:42 -0400
From:	Trond Myklebust <trond.myklebust@....uio.no>
To:	Thomas Zeitlhofer <tzeitlho+lkml@...tuwien.ac.at>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: mkdir on read-only NFS is broken in 2.6.18

On Mon, 2006-10-23 at 11:23 +0200, Thomas Zeitlhofer wrote:
> Hello,
> 
> there is a problem in 2.6.18/.1 when mkdir is called for an existing
> directory on a read-only mounted NFS filesystem.
> 
> Lets consider a server that exports the directory /export which contains
> the directory-tree a/b/c:
> 
> 1) If /export is mounted ro and the first access to a, b, or c  is
> mkdir, then this directory and all directories underneath become
> inaccessible:
> 
>   client:# mount server:/export /mnt -o ro
>   client:# mkdir /mnt/a/b
>   mkdir: cannot create directory `/mnt/a/b': Read-only file system
>   client:# find /mnt
>   /mnt
>   /mnt/a
>   find: /mnt/a/b: No such file or directory
> 
> 2) If /export is mounted ro and the first access to a, b, or c  is _not_
> by calling mkdir, then a following mkdir does not destroy the directory
> structure (and mkdir now returns EEXIST):
> 
>   client:# mount server:/export /mnt -o ro
>   client:# find /mnt
>   /mnt
>   /mnt/a
>   /mnt/a/b
>   /mnt/a/b/c
>   client:# mkdir /mnt/a/b
>   mkdir: cannot create directory `/mnt/a/b': File exists
>   client:# find /mnt
>   /mnt
>   /mnt/a
>   /mnt/a/b
>   /mnt/a/b/c
> 
> 3) If /export is mounted rw (although exported ro), then mkdir does not
> destroy the directory structure:
> 
>   client:# mount server:/export /mnt -o rw
>   client:# mkdir /mnt/a/b
>   mkdir: cannot create directory `/mnt/a/b': Read-only file system
>   client:# find /mnt
>   /mnt
>   /mnt/a
>   /mnt/a/b
>   /mnt/a/b/c
> 
> As a consequence of 1), autofs does not work with mountpoints on NFS
> (ro) because the automount daemon calls mkdir for all directories in the
> path to the mountpoint. This seems related to the discussion [1], and,
> as suggested in [1], the issue is fixed by reverting the patch:

There should already be a fix for this issue in 2.6.19-rc1. See

  http://kernel.org/git/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd6840714d9cf6e93f1d42b904860a94df316b85

Note, though, that the autofs behaviour that you describe above is
seriously broken (mkdir as root on an NFS partition is _not_
acceptable).

Cheers,
  Trond

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ