# Qualcomm MSM camera type camera, domain; type camera_exec, exec_type, file_type; # Started by init init_daemon_domain(camera) # Interact with other media devices allow camera camera_device:dir search; allow camera { gpu_device video_device camera_device }:chr_file rw_file_perms; allow camera { surfaceflinger mediaserver }:fd use; # Create front and back camera sockets (/data/cam_socket[12]) type_transition camera system_data_file:sock_file camera_socket "cam_socket1"; type_transition camera system_data_file:sock_file camera_socket "cam_socket2"; allow camera camera_socket:sock_file { create unlink }; allow camera system_data_file:dir w_dir_perms; allow camera system_data_file:sock_file unlink; type_transition camera system_data_file:file camera_data_file "fdAlbum"; allow camera camera_data_file:file create_file_perms; # Connect to sensor socket (/data/app/sensor_ctl_socket) allow camera apk_data_file:dir r_dir_perms; unix_socket_connect(camera, sensors, sensors) allow camera sensors_socket:sock_file read; allow camera sensors_device:chr_file rw_file_perms; # Read camera files from persist filesystem allow camera persist_file:dir search; r_dir_file(camera, persist_camera_file)