commit:     51c0bb3f83ad430565b85ce7c16608e8174a9014
Author:     Kenton Groombridge <me <AT> concord <DOT> sh>
AuthorDate: Thu Mar 31 19:04:26 2022 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Sat Apr  9 19:28:30 2022 +0000
URL:        
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=51c0bb3f

container, init: allow init to remount container filesystems

Allow init to remount container filesystems. This is in support of other
services starting with NoNewPrivileges while already running containers
have mounted filesystems.

Signed-off-by: Kenton Groombridge <me <AT> concord.sh>
Signed-off-by: Jason Zaman <perfinion <AT> gentoo.org>

 policy/modules/services/container.if | 19 +++++++++++++++++++
 policy/modules/system/init.te        |  4 ++++
 2 files changed, 23 insertions(+)

diff --git a/policy/modules/services/container.if 
b/policy/modules/services/container.if
index bf5ecfb5..541eb8a5 100644
--- a/policy/modules/services/container.if
+++ b/policy/modules/services/container.if
@@ -1099,6 +1099,25 @@ interface(`container_relabel_all_content',`
        allow $1 container_file_t:dir_file_class_set { relabelfrom relabelto };
 ')
 
+########################################
+## <summary>
+##     Allow the specified domain to
+##     remount container filesystems.
+## </summary>
+## <param name="domain">
+##     <summary>
+##     Domain allowed access.
+##     </summary>
+## </param>
+#
+interface(`container_remount_fs',`
+       gen_require(`
+               type container_file_t;
+       ')
+
+       allow $1 container_file_t:filesystem remount;
+')
+
 ########################################
 ## <summary>
 ##     Allow the specified domain to

diff --git a/policy/modules/system/init.te b/policy/modules/system/init.te
index 6e1baef9..db06551c 100644
--- a/policy/modules/system/init.te
+++ b/policy/modules/system/init.te
@@ -543,6 +543,10 @@ ifdef(`init_systemd',`
                clock_read_adjtime(init_t)
        ')
 
+       optional_policy(`
+               container_remount_fs(init_t)
+       ')
+
        optional_policy(`
                systemd_dbus_chat_logind(init_t)
                systemd_search_all_user_keys(init_t)

Reply via email to