diff options
author | Jason Zaman <jason@perfinion.com> | 2018-06-24 17:56:10 +0800 |
---|---|---|
committer | Jason Zaman <jason@perfinion.com> | 2018-06-25 13:31:59 +0800 |
commit | 9e2eeb8b7182b0c91a54f57cf6a593ba591a84ec (patch) | |
tree | ff3c265395b615ccb548ac8ff9aab4d1fd976076 /policy/modules/services/xserver.if | |
parent | xdg: Introduce xdg_search_cache_dirs (diff) | |
download | hardened-refpolicy-9e2eeb8b7182b0c91a54f57cf6a593ba591a84ec.tar.gz hardened-refpolicy-9e2eeb8b7182b0c91a54f57cf6a593ba591a84ec.tar.bz2 hardened-refpolicy-9e2eeb8b7182b0c91a54f57cf6a593ba591a84ec.zip |
xserver: Add mesa_shader_cache for GLSL in ~/.cache/mesa_shader_cache/
Diffstat (limited to 'policy/modules/services/xserver.if')
-rw-r--r-- | policy/modules/services/xserver.if | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/policy/modules/services/xserver.if b/policy/modules/services/xserver.if index 863916756..c1c07b325 100644 --- a/policy/modules/services/xserver.if +++ b/policy/modules/services/xserver.if @@ -138,6 +138,7 @@ interface(`xserver_role',` gen_require(` type iceauth_home_t, xserver_t, xserver_tmpfs_t, xauth_home_t; type user_fonts_t, user_fonts_cache_t, user_fonts_config_t; + type mesa_shader_cache_t; ') xserver_restricted_role($1, $2) @@ -167,6 +168,12 @@ interface(`xserver_role',` relabel_dirs_pattern($2, user_fonts_config_t, user_fonts_config_t) relabel_files_pattern($2, user_fonts_config_t, user_fonts_config_t) + manage_dirs_pattern($2, mesa_shader_cache_t, mesa_shader_cache_t) + manage_files_pattern($2, mesa_shader_cache_t, mesa_shader_cache_t) + allow $2 mesa_shader_cache_t:file map; + relabel_dirs_pattern($2, mesa_shader_cache_t, mesa_shader_cache_t) + relabel_files_pattern($2, mesa_shader_cache_t, mesa_shader_cache_t) + xserver_user_home_dir_filetrans_user_iceauth($2, ".ICEauthority") xserver_read_xkb_libs($2) @@ -178,17 +185,17 @@ interface(`xserver_role',` xdg_relabel_all_config($2) xdg_manage_all_data($2) xdg_relabel_all_data($2) - + xdg_generic_user_home_dir_filetrans_cache($2, dir, ".cache") xdg_generic_user_home_dir_filetrans_config($2, dir, ".config") xdg_generic_user_home_dir_filetrans_data($2, dir, ".local") - + xdg_generic_user_home_dir_filetrans_documents($2, dir, "Documents") xdg_generic_user_home_dir_filetrans_downloads($2, dir, "Downloads") xdg_generic_user_home_dir_filetrans_music($2, dir, "Music") xdg_generic_user_home_dir_filetrans_pictures($2, dir, "Pictures") xdg_generic_user_home_dir_filetrans_videos($2, dir, "Videos") - + xdg_manage_documents($2) xdg_relabel_documents($2) xdg_manage_downloads($2) @@ -199,6 +206,8 @@ interface(`xserver_role',` xdg_relabel_pictures($2) xdg_manage_videos($2) xdg_relabel_videos($2) + + xdg_cache_filetrans($2, mesa_shader_cache_t, dir, "mesa_shader_cache") ') ') @@ -1619,3 +1628,25 @@ interface(`xserver_rw_xdm_keys',` allow $1 xdm_t:key { read write setattr }; ') + +######################################## +## <summary> +## Read and write the mesa shader cache. +## </summary> +## <param name="domain"> +## <summary> +## Domain allowed access. +## </summary> +## </param> +# +interface(`xserver_rw_mesa_shader_cache',` + gen_require(` + type mesa_shader_cache_t; + ') + + rw_dirs_pattern($1, mesa_shader_cache_t, mesa_shader_cache_t) + rw_files_pattern($1, mesa_shader_cache_t, mesa_shader_cache_t) + allow $1 mesa_shader_cache_t:file map; + + xdg_search_cache_dirs($1) +') |