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-3.1.0~201^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F2480%2Fhead;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 33beb43d1..d36987c81 100644 --- a/src/lxc/conf.c +++ b/src/lxc/conf.c @@ -609,9 +609,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; @@ -622,14 +619,27 @@ unsigned long add_required_remount_flags(const char *s, const char *d, if (ret < 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