From: Christian Brauner Date: Wed, 18 Jul 2018 16:09:21 +0000 (+0200) Subject: conf: the atime flags are locked in userns X-Git-Tag: lxc-2.0.10~50 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cacde1a9bc8e0175b16688d4e2a30edd211d735a;p=thirdparty%2Flxc.git conf: the atime flags are locked in userns This means they need to be added for remount and for fresh mounts. Signed-off-by: Christian Brauner --- diff --git a/src/lxc/conf.c b/src/lxc/conf.c index 807f59fa8..0cd686861 100644 --- a/src/lxc/conf.c +++ b/src/lxc/conf.c @@ -448,9 +448,6 @@ unsigned long add_required_remount_flags(const char *s, const char *d, struct statvfs sb; unsigned long required_flags = 0; - if (!(flags & MS_REMOUNT)) - return flags; - if (!s) s = d; @@ -459,14 +456,27 @@ unsigned long add_required_remount_flags(const char *s, const char *d, if (statvfs(s, &sb) < 0) return flags; - if (sb.f_flag & MS_NOSUID) - required_flags |= MS_NOSUID; - if (sb.f_flag & MS_NODEV) - required_flags |= MS_NODEV; - if (sb.f_flag & MS_RDONLY) - required_flags |= MS_RDONLY; - if (sb.f_flag & MS_NOEXEC) - required_flags |= MS_NOEXEC; + if (flags & MS_REMOUNT) { + if (sb.f_flag & MS_NOSUID) + required_flags |= MS_NOSUID; + if (sb.f_flag & MS_NODEV) + required_flags |= MS_NODEV; + if (sb.f_flag & MS_RDONLY) + required_flags |= MS_RDONLY; + if (sb.f_flag & MS_NOEXEC) + required_flags |= MS_NOEXEC; + } + + if (sb.f_flag & MS_NOATIME) + required_flags |= MS_NOATIME; + if (sb.f_flag & MS_NODIRATIME) + required_flags |= MS_NODIRATIME; + if (sb.f_flag & MS_LAZYTIME) + required_flags |= MS_LAZYTIME; + if (sb.f_flag & MS_RELATIME) + required_flags |= MS_RELATIME; + if (sb.f_flag & MS_STRICTATIME) + required_flags |= MS_STRICTATIME; return flags | required_flags; #else