1# define SELinux domain 2type hal_drm_widevine, domain; 3hal_server_domain(hal_drm_widevine, hal_drm) 4 5type hal_drm_widevine_exec, exec_type, vendor_file_type, file_type; 6init_daemon_domain(hal_drm_widevine) 7 8allow hal_drm mediacodec:fd use; 9allow hal_drm { appdomain -isolated_app }:fd use; 10 11# The Qualcomm DRM-HAL implementation uses a vendor-binder service provided 12# by the HWC HAL. 13vndbinder_use(hal_drm_widevine); 14allow hal_drm_widevine qdisplay_service:service_manager { find }; 15binder_call(hal_drm_widevine, hal_graphics_composer) 16 17allow hal_drm_widevine hal_allocator_server:fd use; 18 19# TODO(b/71584763): Remove perfd use once QC implements a better method 20typeattribute hal_drm_widevine data_between_core_and_vendor_violators; 21allow hal_drm_widevine perfd:unix_stream_socket connectto; 22allow hal_drm_widevine perfd_data_file:dir search; 23allow hal_drm_widevine perfd_data_file:sock_file write; 24 25allow hal_drm_widevine mediadrm_vendor_data_file:dir create_dir_perms; 26allow hal_drm_widevine mediadrm_vendor_data_file:file create_file_perms; 27