On Thu, Jan 01, 2015 at 06:41:17PM +0000, Topi Miettinen wrote: > On 01/01/15 18:08, Dave Reisner wrote: > > On Thu, Jan 01, 2015 at 04:49:04PM +0200, Topi Miettinen wrote: > >> Copy parent directory mount flags when setting up a namespace and > >> don't accidentally clear mount flags later. > >> > >> Signed-off-by: Topi Miettinen <toiwo...@gmail.com> > >> --- > >> src/core/namespace.c | 4 ++-- > >> src/shared/util.c | 20 ++++++++++++++++++-- > >> src/shared/util.h | 2 ++ > >> 3 files changed, 22 insertions(+), 4 deletions(-) > >> > >> diff --git a/src/core/namespace.c b/src/core/namespace.c > >> index 5b408e0..400bc50 100644 > >> --- a/src/core/namespace.c > >> +++ b/src/core/namespace.c > >> @@ -159,7 +159,7 @@ static int mount_dev(BindMount *m) { > >> > >> dev = strappenda(temporary_mount, "/dev"); > >> (void)mkdir(dev, 0755); > >> - if (mount("tmpfs", dev, "tmpfs", MS_NOSUID|MS_STRICTATIME, > >> "mode=755") < 0) { > >> + if (mount("tmpfs", dev, "tmpfs", > >> get_mount_flags("/dev")|MS_NOSUID|MS_STRICTATIME, "mode=755") < 0) { > >> r = -errno; > >> goto fail; > >> } > >> @@ -282,7 +282,7 @@ static int mount_kdbus(BindMount *m) { > >> > >> root = strappenda(temporary_mount, "/kdbus"); > >> (void)mkdir(root, 0755); > >> - if (mount("tmpfs", root, "tmpfs", MS_NOSUID|MS_STRICTATIME, > >> "mode=777") < 0) { > >> + if (mount("tmpfs", root, "tmpfs", > >> get_mount_flags("/kdbus")|MS_NOSUID|MS_STRICTATIME, "mode=777") < 0) { > > > > Shouldn't this be /sys/fs/bus/kdbus? We certainly don't mount kdbusfs in > > the root... > > Probably. I don't have kdbus here (sorry) and I don't quite get what the > function is supposed to do. Yes kdbusfs by default should be mounted in /sys/fs/kdbus/
That mount_kdbus() function is dealing with kdbus custom endpoints /sys/fs/kdbus/<bus>/<endpoint> [1], the whole thing is mounted on top of tmpfs in order to hide the rest of the kdbufs tree The custom endpoints are created when creating services, this will be part of the namespaced apps setup where apps will only see a subset of names on a bus... the custom endpoint will be mounted on top of the default endpoint "bus" [2] However, I'm not up to date with this part of the code... in any case this mount_kdbus() function should be renamed to something like mount_kdbus_custom_ep()... [1] http://code.google.com/p/d-bus/source/browse/kdbus.txt#115 [2] http://lists.freedesktop.org/archives/systemd-devel/2014-October/023515.html -- Djalal Harouni http://opendz.org _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel