commit:     2de290b85e9d1c50e4e6f076a16fc803dfab4adc
Author:     Chris PeBenito <chpebeni <AT> linux <DOT> microsoft <DOT> com>
AuthorDate: Thu Jun 23 19:29:50 2022 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Sat Sep  3 18:41:55 2022 +0000
URL:        
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=2de290b8

mcs: Reorganize file.

Add more comments.

Signed-off-by: Chris PeBenito <chpebeni <AT> linux.microsoft.com>
Signed-off-by: Jason Zaman <perfinion <AT> gentoo.org>

 policy/mcs | 53 ++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 36 insertions(+), 17 deletions(-)

diff --git a/policy/mcs b/policy/mcs
index c3d76d09..30129dcb 100644
--- a/policy/mcs
+++ b/policy/mcs
@@ -82,10 +82,15 @@ mlsconstrain { file lnk_file fifo_file } { create relabelto 
}
        ((( h1 dom h2 ) and ( l2 eq h2 )) or
         ( t1 != mcs_constrained_type ));
 
-
+#
+# MCS policy for process classes
+#
 mlsconstrain process { transition dyntransition ptrace sigkill sigstop signal 
getsession getattr getsched setsched getrlimit setrlimit getpgid setpgid getcap 
setcap share setexec setfscreate setcurrent setsockcreate }
        (( h1 dom h2 ) or ( t1 != mcs_constrained_type ));
 
+#
+# MCS policy for socket classes
+#
 mlsconstrain socket_class_set { create ioctl read write setattr append bind 
connect getopt setopt shutdown }
        (( h1 dom h2 ) or ( t1 != mcs_constrained_type ));
 
@@ -101,9 +106,16 @@ mlsconstrain unix_stream_socket connectto
 mlsconstrain unix_dgram_socket sendto
        (( h1 dom h2 ) or ( t1 != mcs_constrained_type ));
 
+
+#
+# MCS policy for key class
+#
 mlsconstrain key { create link read search setattr view write }
        (( h1 dom h2 ) or ( t1 != mcs_constrained_type ));
 
+#
+# MCS policy for SysV IPC
+#
 mlsconstrain { ipc sem msgq shm } { create destroy setattr read unix_read 
write unix_write }
        (( h1 dom h2 ) or ( t1 != mcs_constrained_type ));
 
@@ -116,9 +128,32 @@ mlsconstrain msgq enqueue
 mlsconstrain shm lock
        (( h1 dom h2 ) or ( t1 != mcs_constrained_type ));
 
+#
+# MCS policy for context class
+#
 mlsconstrain context contains
        ((( h1 dom h2 ) and ( l1 domby l2 )) or ( t1 != mcs_constrained_type ));
 
+#
+# MCS policy for network classes
+#
+
+# The node recvfrom/sendto ops, the recvfrom permission is a "write" operation
+# because the subject in this particular case is the remote domain which is
+# writing data out the network node which is acting as the object
+mlsconstrain { node } { recvfrom sendto }
+       (( l1 dom l2 ) or ( t1 != mcs_constrained_type ));
+
+mlsconstrain { packet peer } { recv }
+       (( l1 dom l2 ) or
+        (( t1 != mcs_constrained_type ) and ( t2 != mcs_constrained_type )));
+
+# The netif ingress/egress ops, the ingress permission is a "write" operation
+# because the subject in this particular case is the remote domain which is
+# writing data out the network interface which is acting as the object
+mlsconstrain { netif } { egress ingress }
+       (( l1 dom l2 ) or ( t1 != mcs_constrained_type ));
+
 #
 # MCS policy for SELinux-enabled databases
 #
@@ -162,20 +197,4 @@ mlsconstrain db_language { drop getattr setattr 
relabelfrom execute }
 mlsconstrain db_blob { drop getattr setattr relabelfrom read write import 
export }
        (( h1 dom h2 ) or ( t1 != mcs_constrained_type ));
 
-# The node recvfrom/sendto ops, the recvfrom permission is a "write" operation
-# because the subject in this particular case is the remote domain which is
-# writing data out the network node which is acting as the object
-mlsconstrain { node } { recvfrom sendto }
-       (( l1 dom l2 ) or ( t1 != mcs_constrained_type ));
-
-mlsconstrain { packet peer } { recv }
-       (( l1 dom l2 ) or
-        (( t1 != mcs_constrained_type ) and ( t2 != mcs_constrained_type )));
-
-# The netif ingress/egress ops, the ingress permission is a "write" operation
-# because the subject in this particular case is the remote domain which is
-# writing data out the network interface which is acting as the object
-mlsconstrain { netif } { egress ingress }
-       (( l1 dom l2 ) or ( t1 != mcs_constrained_type ));
-
 ') dnl end enable_mcs

Reply via email to