summaryrefslogtreecommitdiff
path: root/src/anoninode/kvmgmemanoninode.cil
diff options
context:
space:
mode:
Diffstat (limited to 'src/anoninode/kvmgmemanoninode.cil')
-rw-r--r--src/anoninode/kvmgmemanoninode.cil46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/anoninode/kvmgmemanoninode.cil b/src/anoninode/kvmgmemanoninode.cil
new file mode 100644
index 0000000..ef8ed90
--- /dev/null
+++ b/src/anoninode/kvmgmemanoninode.cil
@@ -0,0 +1,46 @@
+;; SPDX-FileCopyrightText: © 2025 Dominick Grift <dominick.grift@defensec.nl>
+;; SPDX-License-Identifier: Unlicense
+
+(in kvm
+
+ (block gmem
+
+ (blockinherit anon_inode.template)
+
+ (block anon_inode
+
+ (macro type ((type ARG1))
+ (typeattributeset typeattr ARG1))
+
+ (typeattribute typeattr)
+
+ (blockinherit .anon_inode.all_macro_template_anon_inodes)
+
+ (call .anon_inode.type (typeattr))
+
+ (block base_template
+
+ (blockabstract base_template)
+
+ (blockinherit .anon_inode.base_template)
+
+ (call .kvm.gmem.anon_inode.type (anon_inode)))
+
+ (block template
+
+ (macro map_anon_inode_anon_inodes ((type ARG1))
+ (allow ARG1 anon_inode (anon_inode (map))))
+
+ (macro self_type_transition_anon_inode ((type ARG1))
+ (call self_type_transition
+ (ARG1 anon_inode "[kvm-gmem]")))
+
+ (blockabstract template)
+
+ (blockinherit .anon_inode.macro_template_anon_inodes)
+
+ (blockinherit .kvm.gmem.anon_inode.base_template)))))
+
+(in anon_inode.unconfined
+
+ (call .kvm.gmem.self_type_transition_anon_inode (typeattr)))