From 69eadddb37352ff29fd785577b9d89c23f522657 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Wed, 18 Jul 2018 18:09:21 +0200 Subject: [PATCH] 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 --- src/lxc/conf.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) 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 -- 2.47.2