All of lore.kernel.org
 help / color / mirror / Atom feed
* [refpolicy] [PATCH] gnome: add support for the OIL Runtime Compiler (ORC) optimized code execution
@ 2016-09-15 11:03 Guido Trentalancia
  2016-09-15 13:26 ` [refpolicy] [PATCH v2] " Guido Trentalancia
  0 siblings, 1 reply; 7+ messages in thread
From: Guido Trentalancia @ 2016-09-15 11:03 UTC (permalink / raw)
  To: refpolicy

Add a new gstreamer_orcexec_t type and file context to the gnome
module in order to support the OIL Runtime Compiler (ORC) optimized
code execution (used for example by pulseaudio).

Add optional policy to the pulseaudio module to support the ORC
optimized code execution.

This patch has been anticipated a few weeks ago as part of a
larger gnome patch. It has now been split as a smaller patch,
as required.

Signed-off-by: Guido Trentalancia <guido@trentalancia.net>
---
 policy/modules/contrib/gnome.fc      |    5 ++
 policy/modules/contrib/gnome.if      |   60 +++++++++++++++++++++++++++++++++++
 policy/modules/contrib/gnome.te      |    3 +
 policy/modules/contrib/pulseaudio.te |    5 ++
 4 files changed, 73 insertions(+)

--- refpolicy-git-orig/policy/modules/contrib/gnome.fc	2016-08-14 21:28:11.493519589 +0200
+++ refpolicy-git-orcexec/policy/modules/contrib/gnome.fc	2016-09-15 12:45:49.974216884 +0200
@@ -5,6 +5,8 @@ HOME_DIR/\.gnome2(/.*)?	gen_context(syst
 HOME_DIR/\.gnome2/keyrings(/.*)?	gen_context(system_u:object_r:gnome_keyring_home_t,s0)
 HOME_DIR/\.gnome2_private(/.*)?	gen_context(system_u:object_r:gnome_home_t,s0)
 
+HOME_DIR/orcexec\..*	gen_context(system_u:object_r:gstreamer_orcexec_t,s0)
+
 /etc/gconf(/.*)?	gen_context(system_u:object_r:gconf_etc_t,s0)
 
 /tmp/gconfd-USER/.*	--	gen_context(system_u:object_r:gconf_tmp_t,s0)
@@ -14,3 +16,6 @@ HOME_DIR/\.gnome2_private(/.*)?	gen_cont
 
 /usr/lib/[^/]*/gconf/gconfd-2	--	gen_context(system_u:object_r:gconfd_exec_t,s0)
 /usr/libexec/gconfd-2	--	gen_context(system_u:object_r:gconfd_exec_t,s0)
+
+/var/run/user/[^/]*/orcexec\..*	--	gen_context(system_u:object_r:gstreamer_orcexec_t,s0)
+/var/run/user/%{USERID}/orcexec\..*	--	gen_context(system_u:object_r:gstreamer_orcexec_t,s0)
--- refpolicy-git-orig/policy/modules/contrib/gnome.if	2016-08-14 21:28:11.493519589 +0200
+++ refpolicy-git-orcexec/policy/modules/contrib/gnome.if	2016-09-15 12:50:47.168965082 +0200
@@ -604,6 +604,66 @@ interface(`gnome_gconf_home_filetrans',`
 
 ########################################
 ## <summary>
+##	Create objects in user home
+##	directories with the gstreamer
+##	orcexec type.
+## </summary>
+## <param name="domain">
+##	<summary>
+##	Domain allowed access.
+##	</summary>
+## </param>
+## <param name="object_class">
+##	<summary>
+##	Class of the object being created.
+##	</summary>
+## </param>
+## <param name="name" optional="true">
+##	<summary>
+##	The name of the object being created.
+##	</summary>
+## </param>
+#
+interface(`gnome_user_home_dir_filetrans_gstreamer_orcexec',`
+	gen_require(`
+		type gstreamer_orcexec_t;
+	')
+
+	userdom_user_home_dir_filetrans($1, gstreamer_orcexec_t, $2, $3)
+')
+
+########################################
+## <summary>
+##	Create objects in the user
+##	runtime directories with the
+##	gstreamer orcexec type.
+## </summary>
+## <param name="domain">
+##	<summary>
+##	Domain allowed access.
+##	</summary>
+## </param>
+## <param name="object_class">
+##	<summary>
+##	Class of the object being created.
+##	</summary>
+## </param>
+## <param name="name" optional="true">
+##	<summary>
+##	The name of the object being created.
+##	</summary>
+## </param>
+#
+interface(`gnome_user_runtime_filetrans_gstreamer_orcexec',`
+	gen_require(`
+		type gstreamer_orcexec_t;
+	')
+
+	userdom_user_runtime_filetrans($1, gstreamer_orcexec_t, $2, $3)
+')
+
+########################################
+## <summary>
 ##	Read generic gnome keyring home files.
 ## </summary>
 ## <param name="domain">
--- refpolicy-git-orig/policy/modules/contrib/gnome.te	2016-08-14 21:28:11.494519604 +0200
+++ refpolicy-git-orcexec/policy/modules/contrib/gnome.te	2016-09-15 12:51:26.107456172 +0200
@@ -46,6 +46,9 @@ userdom_user_home_content(gnome_keyring_
 type gnome_keyring_tmp_t;
 userdom_user_tmp_file(gnome_keyring_tmp_t)
 
+type gstreamer_orcexec_t;
+application_executable_file(gstreamer_orcexec_t)
+
 ##############################
 #
 # Common local Policy
--- refpolicy-git-orig/policy/modules/contrib/pulseaudio.te	2016-08-15 23:39:24.063783236 +0200
+++ refpolicy-git-orcexec/policy/modules/contrib/pulseaudio.te	2016-09-15 12:52:08.824994923 +0200
@@ -193,6 +193,11 @@ optional_policy(`
 
 optional_policy(`
 	gnome_stream_connect_gconf(pulseaudio_t)
+
+	# OIL Runtime Compiler (ORC) optimized code execution
+	allow pulseaudio_t gstreamer_orcexec_t:file { manage_file_perms mmap_file_perms };
+	gnome_user_runtime_filetrans_gstreamer_orcexec(pulseaudio_t, file)
+	gnome_user_home_dir_filetrans_gstreamer_orcexec(pulseaudio_t, file)
 ')
 
 optional_policy(`

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-09-27 22:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-15 11:03 [refpolicy] [PATCH] gnome: add support for the OIL Runtime Compiler (ORC) optimized code execution Guido Trentalancia
2016-09-15 13:26 ` [refpolicy] [PATCH v2] " Guido Trentalancia
2016-09-18 20:40   ` Chris PeBenito
2016-09-19 11:15   ` [refpolicy] [PATCH v3] " Guido Trentalancia
2016-09-19 22:36     ` Chris PeBenito
2016-09-27 15:01       ` Guido Trentalancia
2016-09-27 22:28         ` Chris PeBenito

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.