public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] MNT_UNBINDABLE
@ 2007-10-25 15:37 Andries E. Brouwer
  0 siblings, 0 replies; only message in thread
From: Andries E. Brouwer @ 2007-10-25 15:37 UTC (permalink / raw)
  To: linux-kernel

Some time ago ( http://lkml.org/lkml/2007/6/19/128 )
I wrote about MNT_UNBINDABLE that it felt like a bug
that it is not reset by "mount --make-private".

Today I happened to see mount(8) and Documentation/sharedsubtree.txt
and both document the version obtained by applying the little
patch given in the above (and again below).

So, the present kernel code is not according to specs and must be
regarded as buggy. The patch below, or something similar,
should be applied.

Andries

---
Specification in Documentation/sharedsubtree.txt:
See state diagram: unbindable should become private upon make-private.

Specification in mount(8):
    ...  It's
    also possible to  set  up  uni-directional  propagation  (with  --make-
    slave),  to  make  a  mount  point unavailable for --bind/--rbind (with
    --make-unbindable), and to undo any  of  these  (with  --make-private).

Repeat of old fix-shared-subtrees-make-private.patch
(due to Dirk Gerrits, René Gabriëls, Peter Kooijmans):

--- pnode.old	2007-04-17 12:53:11.000000000 +0200
+++ pnode.c	2007-04-17 13:22:03.000000000 +0200
@@ -83,6 +83,8 @@
 		mnt->mnt_master = NULL;
 		if (type == MS_UNBINDABLE)
 			mnt->mnt_flags |= MNT_UNBINDABLE;
+		else
+			mnt->mnt_flags &= ~MNT_UNBINDABLE;
 	}
 }
 



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-10-25 16:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-25 15:37 [PATCH] MNT_UNBINDABLE Andries E. Brouwer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox