1# Qualcomm MSM camera 2type camera, domain; 3type camera_exec, exec_type, file_type; 4 5# Started by init 6init_daemon_domain(camera) 7 8allow camera self:process execmem; 9 10# Interact with other media devices 11allow camera camera_device:dir search; 12allow camera { gpu_device video_device camera_device }:chr_file rw_file_perms; 13allow camera { surfaceflinger mediaserver }:fd use; 14 15# Create front and back camera sockets (/data/cam_socket[12]) 16type_transition camera system_data_file:sock_file camera_socket "cam_socket1"; 17type_transition camera system_data_file:sock_file camera_socket "cam_socket2"; 18allow camera camera_socket:sock_file { create unlink }; 19allow camera system_data_file:dir w_dir_perms; 20allow camera system_data_file:sock_file unlink; 21 22type_transition camera system_data_file:file camera_data_file "fdAlbum"; 23allow camera camera_data_file:file create_file_perms; 24 25# Connect to sensor socket (/data/app/sensor_ctl_socket) 26allow camera apk_data_file:dir r_dir_perms; 27unix_socket_connect(camera, sensors, sensors) 28allow camera sensors_socket:sock_file read; 29 30allow camera sensors_device:chr_file rw_file_perms; 31 32# Read camera files from persist filesystem 33allow camera persist_file:dir search; 34r_dir_file(camera, persist_camera_file) 35