diff options
author | alk3pInjection <webmaster@raspii.tech> | 2022-05-01 21:36:16 +0800 |
---|---|---|
committer | alk3pInjection <webmaster@raspii.tech> | 2022-05-01 21:36:16 +0800 |
commit | 329b113bc1329f83fe1eecd32213435f8885ca71 (patch) | |
tree | af249b7fce9300b5248cbffe94a08d48fb919f73 /prebuilts/api/32.0/private/mediatranscoding.te | |
parent | 18c07b58901c9d0e7fc0d908ed38146847bab5b3 (diff) | |
parent | d7b93dbd049c0eacfb7ad14677457836c79b38f6 (diff) |
Merge tag 'LA.QSSI.12.0.r1-06800-qssi.0' into sugisawa-mr1HEADsugisawa-mr1
"LA.QSSI.12.0.r1-06800-qssi.0"
Change-Id: I35dbb71151ce8b3bf68b425732a761532c638017
Diffstat (limited to 'prebuilts/api/32.0/private/mediatranscoding.te')
-rw-r--r-- | prebuilts/api/32.0/private/mediatranscoding.te | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/prebuilts/api/32.0/private/mediatranscoding.te b/prebuilts/api/32.0/private/mediatranscoding.te new file mode 100644 index 000000000..2a43cf9b5 --- /dev/null +++ b/prebuilts/api/32.0/private/mediatranscoding.te @@ -0,0 +1,64 @@ +# mediatranscoding - daemon for transcoding video and image. +type mediatranscoding, domain; +type mediatranscoding_exec, system_file_type, exec_type, file_type; +type mediatranscoding_tmpfs, file_type; +typeattribute mediatranscoding coredomain; + +init_daemon_domain(mediatranscoding) +tmpfs_domain(mediatranscoding) +allow mediatranscoding appdomain_tmpfs:file { getattr map read write }; + +binder_use(mediatranscoding) +binder_call(mediatranscoding, binderservicedomain) +binder_call(mediatranscoding, appdomain) +binder_service(mediatranscoding) + +add_service(mediatranscoding, mediatranscoding_service) + +hal_client_domain(mediatranscoding, hal_graphics_allocator) +hal_client_domain(mediatranscoding, hal_configstore) +hal_client_domain(mediatranscoding, hal_omx) +hal_client_domain(mediatranscoding, hal_codec2) + +allow mediatranscoding mediaserver_service:service_manager find; +allow mediatranscoding mediametrics_service:service_manager find; +allow mediatranscoding mediaextractor_service:service_manager find; +allow mediatranscoding package_native_service:service_manager find; +allow mediatranscoding thermal_service:service_manager find; + +allow mediatranscoding system_server:fd use; +allow mediatranscoding activity_service:service_manager find; + +# allow mediatranscoding service read/write permissions for file sources +allow mediatranscoding sdcardfs:file { getattr read write }; +allow mediatranscoding media_rw_data_file:file { getattr read write }; +allow mediatranscoding apk_data_file:file { getattr read }; +allow mediatranscoding app_data_file:file { getattr read write }; +allow mediatranscoding shell_data_file:file { getattr read write }; + +# allow mediatranscoding service write permission to statsd socket +unix_socket_send(mediatranscoding, statsdw, statsd) + +# Allow mediatranscoding to access the DMA-BUF system heap +allow mediatranscoding dmabuf_system_heap_device:chr_file r_file_perms; + +allow mediatranscoding gpu_device:dir search; + +# Allow mediatranscoding service to access media-related system properties +get_prop(mediatranscoding, media_config_prop) + +# mediatranscoding should never execute any executable without a +# domain transition +neverallow mediatranscoding { file_type fs_type }:file execute_no_trans; + +# The goal of the mediaserver split is to place media processing code into +# restrictive sandboxes with limited responsibilities and thus limited +# permissions. Example: Audioserver is only responsible for controlling audio +# hardware and processing audio content. Cameraserver does the same for camera +# hardware/content. Etc. +# +# Media processing code is inherently risky and thus should have limited +# permissions and be isolated from the rest of the system and network. +# Lengthier explanation here: +# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html +neverallow mediatranscoding domain:{ tcp_socket udp_socket rawip_socket } *; |