[Bug 712892] Re: mount (silently) ignores options for bind mounts

Kees Cook kees at ubuntu.com
Fri Apr 8 19:02:44 UTC 2011


** Changed in: util-linux (Ubuntu)
       Status: New => Triaged

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is a direct subscriber.
https://bugs.launchpad.net/bugs/712892

Title:
  mount (silently) ignores options for bind mounts

Status in The Util-Linux-ng Set of Utilities:
  New
Status in “linux” package in Ubuntu:
  New
Status in “util-linux” package in Ubuntu:
  Triaged

Bug description:
  Binary package hint: util-linux

  mount ignores any options given for bind mounts and adds an incorrect line to mtab.
  there is (at least) one exception: the option ro (== read-only). it warns that the bind mount is mounted read-write, if one tries to use that option together with bind.

  some examples of the current behavior (with comments):
  ~/bla# mkdir foo
  ~/bla# mkdir bar
  ~/bla# touch foo/test
  ~/bla# mount foo/ bar/ -obind,ro
  mount: warning: bar/ seems to be mounted read-write.
  # at least it says so
  ~/bla# rm bar/test 
  ~/bla# ls bar/test
  ls: cannot access bar/test: No such file or directory
  # expected after that warning
  ~/bla# touch foo/test
  ~/bla# mount foo/ bar/ -obind,somebogusoption1
  ~/bla# mount foo/ bar/ -obind,somebogusoption2
  ~/bla# mount foo/ bar/ -obind,somebogusoption3
  ~/bla# mount
  ...
  /root/bla/foo on /root/bla/bar type none (rw,bind)
  /root/bla/foo on /root/bla/bar type none (rw,bind,somebogusoption1)
  /root/bla/foo on /root/bla/bar type none (rw,bind,somebogusoption2)
  /root/bla/foo on /root/bla/bar type none (rw,bind,somebogusoption3)
  # mount adds bogus lines to mtab...
  ~/bla# ls bar/
  test
  # but at least it does mount
  umount bar
  mount
  ...
  /root/bla/foo on /root/bla/bar type none (rw,bind)
  /root/bla/foo on /root/bla/bar type none (rw,bind,somebogusoption1)
  /root/bla/foo on /root/bla/bar type none (rw,bind,somebogusoption2)
  # and umount only removes one (bogus) line per execution :)

  the behavior is kinda documented in the manpage (well the bogus lines are clearly a bug (two actually), but i don't care right now).
  a workaround is to first bind mount and then use the remount option for setting other options e.g.:
  ~/bla# mount foo/ bar/ -obind
  ~/bla# mount bar/ -oremount,ro
  ~/bla# rm bar/test 
  rm: cannot remove `bar/test': Read-only file system

  the problem is... this does not work with fstab:
  neither setting up one line with options bind,ro such as
  /root/bla/foo	/root/bla/bar	none	bind,ro
  (this gives the same warning as above)
  nor using two, one with the remount option:
  /root/bla/foo	/root/bla/bar	none	bind
  /root/bla/foo	/root/bla/bar	none	remount,ro
  (this even fails silently to remount read-only!)

  the warning was introduced by Karel Zak in november 2009. i read that debian had a patch for correcting at least some of the issues above, but i could not find anything.
  one workaround for certain situations could be to use pam_mount.

  this war reported/tested on ubuntu 10.10 with kernel 2.6.35-25 and
  mount 2.17.2-0ubuntu1.10.10.1.



More information about the Ubuntu-sponsors mailing list