conf: the atime flags are locked in userns

This means they need to be added for remount and for fresh mounts. Signed-off-by: 's avatarChristian Brauner <christian.brauner@ubuntu.com>
parent c77abb20
...@@ -609,9 +609,6 @@ unsigned long add_required_remount_flags(const char *s, const char *d, ...@@ -609,9 +609,6 @@ unsigned long add_required_remount_flags(const char *s, const char *d,
struct statvfs sb; struct statvfs sb;
unsigned long required_flags = 0; unsigned long required_flags = 0;
if (!(flags & MS_REMOUNT))
return flags;
if (!s) if (!s)
s = d; s = d;
...@@ -622,6 +619,7 @@ unsigned long add_required_remount_flags(const char *s, const char *d, ...@@ -622,6 +619,7 @@ unsigned long add_required_remount_flags(const char *s, const char *d,
if (ret < 0) if (ret < 0)
return flags; return flags;
if (flags & MS_REMOUNT) {
if (sb.f_flag & MS_NOSUID) if (sb.f_flag & MS_NOSUID)
required_flags |= MS_NOSUID; required_flags |= MS_NOSUID;
if (sb.f_flag & MS_NODEV) if (sb.f_flag & MS_NODEV)
...@@ -630,6 +628,18 @@ unsigned long add_required_remount_flags(const char *s, const char *d, ...@@ -630,6 +628,18 @@ unsigned long add_required_remount_flags(const char *s, const char *d,
required_flags |= MS_RDONLY; required_flags |= MS_RDONLY;
if (sb.f_flag & MS_NOEXEC) if (sb.f_flag & MS_NOEXEC)
required_flags |= 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; return flags | required_flags;
#else #else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment