[lxc-devel] [lxc/master] conf: the atime flags are locked in userns
brauner on Github
lxc-bot at linuxcontainers.org
Wed Jul 18 16:10:24 UTC 2018
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 434 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20180718/b7ea0132/attachment.bin>
-------------- next part --------------
From 69eadddb37352ff29fd785577b9d89c23f522657 Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brauner at ubuntu.com>
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 <christian.brauner at ubuntu.com>
---
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
More information about the lxc-devel
mailing list