diff options
Diffstat (limited to 'src/anoninode')
-rw-r--r-- | src/anoninode/iouringanoninode.cil | 44 | ||||
-rw-r--r-- | src/anoninode/perfeventanoninode.cil | 41 | ||||
-rw-r--r-- | src/anoninode/secretmemanoninode.cil | 41 | ||||
-rw-r--r-- | src/anoninode/uffdanoninode.cil | 41 |
4 files changed, 167 insertions, 0 deletions
diff --git a/src/anoninode/iouringanoninode.cil b/src/anoninode/iouringanoninode.cil new file mode 100644 index 0000000..1477ff0 --- /dev/null +++ b/src/anoninode/iouringanoninode.cil @@ -0,0 +1,44 @@ +;; SPDX-FileCopyrightText: © 2023 Dominick Grift <dominick.grift@defensec.nl> +;; SPDX-License-Identifier: Unlicense + +(block iouring + + (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 .iouring.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 "[io_uring]"))) + + (blockabstract template) + + (blockinherit .anon_inode.macro_template_anon_inodes) + + (blockinherit .iouring.anon_inode.base_template)))) + +(in anon_inode.unconfined + + (call .iouring.self_type_transition_anon_inode (typeattr))) diff --git a/src/anoninode/perfeventanoninode.cil b/src/anoninode/perfeventanoninode.cil new file mode 100644 index 0000000..926d0dc --- /dev/null +++ b/src/anoninode/perfeventanoninode.cil @@ -0,0 +1,41 @@ +;; SPDX-FileCopyrightText: © 2023 Dominick Grift <dominick.grift@defensec.nl> +;; SPDX-License-Identifier: Unlicense + +(block perfevent + + (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 .perfevent.anon_inode.type (anon_inode))) + + (block template + + (macro self_type_transition_anon_inode ((type ARG1)) + (call self_type_transition + (ARG1 anon_inode "[perf_event]"))) + + (blockabstract template) + + (blockinherit .anon_inode.macro_template_anon_inodes) + + (blockinherit .perfevent.anon_inode.base_template)))) + +(in anon_inode.unconfined + + (call .perfevent.self_type_transition_anon_inode (typeattr))) diff --git a/src/anoninode/secretmemanoninode.cil b/src/anoninode/secretmemanoninode.cil new file mode 100644 index 0000000..57b45bf --- /dev/null +++ b/src/anoninode/secretmemanoninode.cil @@ -0,0 +1,41 @@ +;; SPDX-FileCopyrightText: © 2023 Dominick Grift <dominick.grift@defensec.nl> +;; SPDX-License-Identifier: Unlicense + +(block secretmem + + (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 .secretmem.anon_inode.type (anon_inode))) + + (block template + + (macro self_type_transition_anon_inode ((type ARG1)) + (call self_type_transition + (ARG1 anon_inode "[secretmem]"))) + + (blockabstract template) + + (blockinherit .anon_inode.macro_template_anon_inodes) + + (blockinherit .secretmem.anon_inode.base_template)))) + +(in anon_inode.unconfined + + (call .secretmem.self_type_transition_anon_inode (typeattr))) diff --git a/src/anoninode/uffdanoninode.cil b/src/anoninode/uffdanoninode.cil new file mode 100644 index 0000000..d4dffc6 --- /dev/null +++ b/src/anoninode/uffdanoninode.cil @@ -0,0 +1,41 @@ +;; SPDX-FileCopyrightText: © 2023 Dominick Grift <dominick.grift@defensec.nl> +;; SPDX-License-Identifier: Unlicense + +(block uffd + + (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 .uffd.anon_inode.type (anon_inode))) + + (block template + + (macro self_type_transition_anon_inode ((type ARG1)) + (call self_type_transition + (ARG1 anon_inode "[userfaultfd]"))) + + (blockabstract template) + + (blockinherit .anon_inode.macro_template_anon_inodes) + + (blockinherit .uffd.anon_inode.base_template)))) + +(in anon_inode.unconfined + + (call .uffd.self_type_transition_anon_inode (typeattr))) |