type carrier_block_device, dev_type;
type cid_block_device, dev_type;
type fat_block_device, dev_type;
-type gnss_device, dev_type;
type hw_block_device, dev_type;
type keystorage_block_device, dev_type;
type kpan_block_device, dev_type;
# data types
type camera_vendor_data_file, file_type, data_file_type;
type chargeonly_data_file, file_type, data_file_type;
-type display_vendor_data_file, file_type, data_file_type;
type mediadrm_vendor_data_file, file_type, data_file_type;
type misc_vendor_data_file, file_type, data_file_type;
type rild_vendor_data_file, file_type, data_file_type;
/(vendor|system/vendor)/bin/charge_only_mode u:object_r:charge_only_exec:s0
/(vendor|system/vendor)/bin/charon u:object_r:charonservice_exec:s0
/(vendor|system/vendor)/bin/exynos-thermald u:object_r:exynos-thermald_exec:s0
-/(vendor|system/vendor)/bin/mcDriverDaemon u:object_r:tee_exec:s0
/(vendor|system/vendor)/bin/wfc-pkt-router u:object_r:pktrouter_exec:s0
/(vendor|system/vendor)/bin/hw/rild_exynos u:object_r:rild_exec:s0
-/(vendor|system/vendor)/bin/hw/gpsd u:object_r:gpsd_exec:s0
####################################
# Data Files
/data/vendor/camera(/.*)? u:object_r:camera_vendor_data_file:s0
-/data/vendor/display(/.*)? u:object_r:display_vendor_data_file:s0
/data/vendor/mediadrm(/.*)? u:object_r:mediadrm_vendor_data_file:s0
/data/vendor/misc(/.*)? u:object_r:misc_vendor_data_file:s0
/data/vendor/sensor(/.*)? u:object_r:sensor_vendor_data_file:s0
+++ /dev/null
-type hal_drm_clearkey, domain;
-hal_server_domain(hal_drm_clearkey, hal_drm);
-
-type hal_drm_clearkey_exec, exec_type, vendor_file_type, file_type;
-init_daemon_domain(hal_drm_clearkey);
-type hal_drm_widevine, domain;
-hal_server_domain(hal_drm_widevine, hal_drm);
-
-type hal_drm_widevine_exec, exec_type, vendor_file_type, file_type;
-init_daemon_domain(hal_drm_widevine);
-
allow hal_drm_widevine {
mnt_vendor_file
persist_file