Skip to contentSkip to conversation

Missing interface declarations

PATCH New Sven Vermeulen 2 participants 7 messages Aug 8, 2014 – Aug 14, 2014

lore
Share & tools
lore
#0 lore raw

cover Missing interface declarations

It seems that a couple of interfaces in kernel/files.if are calling kernel_* interfaces that don't exist yet.

Let's play safe and introduce them.

Sven Vermeulen (5):
Introduce kernel_delete_unlabeled_symlinks
Introduce kernel_delete_unlabeled_pipes
Introduce kernel_delete_unlabeled_sockets
Introduce kernel_delete_unlabeled_blk_files
Introduce kernel_delete_unlabeled_chr_files

 policy/modules/kernel/kernel.if | 90 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 90 insertions(+)
Signature · 1 line
1.8.5.5
#1 lore raw

PATCH 1/5 Introduce kernel_delete_unlabeled_symlinks

The kernel_delete_unlabeled_symlinks interface is called by the files_delete_isid_type_symlinks interface (in kernel/files.if). This interface is deprecated (and calls kernel_delete_unlabeled_symlinks).

---
 policy/modules/kernel/kernel.if | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
policy/modules/kernel/kernel.if +18 -0
index dbb3552..9097352 100644
@@ -2538,6 +2538,24 @@ interface(`kernel_dontaudit_read_unlabeled_files',`
 
 ########################################
 ## <summary>
+##	Delete unlabeled symbolic links.
+## </summary>
+## <param name="domain">
+##	<summary>
+##	Domain allowed access.
+##	</summary>
+## </param>
+#
+interface(`kernel_delete_unlabeled_symlinks',`
+	gen_require(`
+		type unlabeled_t;
+	')
+
+	delete_lnk_files_pattern($1, unlabeled_t, unlabeled_t)
+')
+
+########################################
+## <summary>
 ##	Create, read, write, and delete unlabeled symbolic links.
 ## </summary>
 ## <param name="domain">
Signature · 1 line
1.8.5.5
#2 lore raw

PATCH 2/5 Introduce kernel_delete_unlabeled_pipes

In reply to Sven Vermeulen

The kernel_delete_unlabeled_pipes interface is called by the (deprecated) files_delete_isid_type_fifo_files interface in kernel/files.if.

---
 policy/modules/kernel/kernel.if | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
policy/modules/kernel/kernel.if +18 -0
index 9097352..e6da637 100644
@@ -2817,6 +2817,24 @@ interface(`kernel_relabelfrom_unlabeled_pipes',`
 
 ########################################
 ## <summary>
+##	Delete unlabeled named pipes
+## </summary>
+## <param name="domain">
+##	<summary>
+##	Domain allowed access.
+##	</summary>
+## </param>
+#
+interface(`kernel_delete_unlabeled_pipes',`
+	gen_require(`
+		type unlabeled_t;
+	')
+
+	delete_fifo_files_pattern($1, unlabeled_t, unlabeled_t)
+')
+
+########################################
+## <summary>
 ##	Allow caller to relabel unlabeled named sockets.
 ## </summary>
 ## <param name="domain">
Signature · 1 line
1.8.5.5
#3 lore raw

PATCH 3/5 Introduce kernel_delete_unlabeled_sockets

In reply to Sven Vermeulen

The kernel_delete_unlabeled_sockets interface is called by the (deprecated) files_delete_isid_type_sock_files interface in kernel/files.if.

---
 policy/modules/kernel/kernel.if | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
policy/modules/kernel/kernel.if +17 -0
index e6da637..13635c9 100644
@@ -2854,6 +2854,23 @@ interface(`kernel_relabelfrom_unlabeled_sockets',`
 
 ########################################
 ## <summary>
+##	Delete unlabeled named sockets.
+## </summary>
+## <param name="domain">
+##	<summary>
+##	Domain allowed access.
+##	</summary>
+## </param>
+#
+interface(`kernel_delete_unlabeled_sockets',`
+	gen_require(`
+		type unlabeled_t;
+	')
+
+	delete_sock_files_pattern($1, unlabeled_t, unlabeled_t)
+')
+########################################
+## <summary>
 ##	Send and receive messages from an
 ##	unlabeled IPSEC association.
 ## </summary>
Signature · 1 line
1.8.5.5
#4 lore raw

PATCH 4/5 Introduce kernel_delete_unlabeled_blk_files

In reply to Sven Vermeulen

The kernel_delete_unlabeled_blk_files interface is called by the (deprecated) files_delete_isid_type_blk_files in kernel/files.if.

---
 policy/modules/kernel/kernel.if | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
policy/modules/kernel/kernel.if +18 -0
index 13635c9..a8f71ff 100644
@@ -2668,6 +2668,24 @@ interface(`kernel_rw_unlabeled_blk_files',`
 
 ########################################
 ## <summary>
+##	Delete unlabeled block device nodes.
+## </summary>
+## <param name="domain">
+##	<summary>
+##	Domain allowed access.
+##	</summary>
+## </param>
+#
+interface(`kernel_delete_unlabeled_blk_files',`
+	gen_require(`
+		type unlabeled_t;
+	')
+
+	delete_blk_files_pattern($1, unlabeled_t, unlabeled_t)
+')
+
+########################################
+## <summary>
 ##	Create, read, write, and delete unlabeled block device nodes.
 ## </summary>
 ## <param name="domain">
Signature · 1 line
1.8.5.5
#5 lore raw

PATCH 5/5 Introduce kernel_delete_unlabeled_chr_files

In reply to Sven Vermeulen

The kernel_delete_unlabeled_chr_files interface is called by the (deprecated) files_delete_isid_type_chr_files interface in kernel/files.if.

---
 policy/modules/kernel/kernel.if | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
policy/modules/kernel/kernel.if +19 -0
index a8f71ff..8722c76 100644
@@ -2742,6 +2742,25 @@ interface(`kernel_dontaudit_write_unlabeled_chr_files',`
 
 ########################################
 ## <summary>
+##	Delete unlabeled character device nodes.
+## </summary>
+## <param name="domain">
+##	<summary>
+##	Domain allowed access.
+##	</summary>
+## </param>
+#
+interface(`kernel_delete_unlabeled_chr_files',`
+	gen_require(`
+		type unlabeled_t;
+	')
+
+	delete_chr_files_pattern($1, unlabeled_t, unlabeled_t)
+')
+
+
+########################################
+## <summary>
 ##	Create, read, write, and delete unlabeled character device nodes.
 ## </summary>
 ## <param name="domain">
Signature · 1 line
1.8.5.5
#6 lore raw

cover Missing interface declarations

In reply to Sven Vermeulen
Quoted 11 lines · Sven Vermeulen

It seems that a couple of interfaces in kernel/files.if are calling kernel_* interfaces that don't exist yet.

Let's play safe and introduce them.

Sven Vermeulen (5):
Introduce kernel_delete_unlabeled_symlinks
Introduce kernel_delete_unlabeled_pipes
Introduce kernel_delete_unlabeled_sockets
Introduce kernel_delete_unlabeled_blk_files
Introduce kernel_delete_unlabeled_chr_files

Quoted 2 lines
 policy/modules/kernel/kernel.if | 90 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 90 insertions(+)

I do several combinations of builds, so its strange that I didn't hit these. The interfaces in the files module must not be used.

This set is merged.

Signature · 3 lines
Chris PeBenito
Tresys Technology, LLC
www.tresys.com | oss.tresys.com