xref: /aosp_15_r20/system/sepolicy/prebuilts/api/202404/private/virtual_camera.te (revision e4a36f4174b17bbab9dc043f4a65dc8d87377290)
1# virtual_camera - virtual camera daemon
2
3type virtual_camera, domain, coredomain;
4type virtual_camera_exec, system_file_type, exec_type, file_type;
5
6init_daemon_domain(virtual_camera)
7
8# Since virtual_camera is not a real HAL we don't set the
9# hal_server_domain(virtual_camera, hal_camera) macro but only the rules that
10# we actually need from halserverdomain and hal_camera_server:
11binder_use(virtual_camera)
12binder_call(virtual_camera, cameraserver)
13binder_call(virtual_camera, system_server)
14
15# Allow virtual_camera to communicate with
16# mediaserver (required for using Surface originating
17# from virtual camera in mediaserver).
18binder_call(virtual_camera, mediaserver)
19
20# Required for the codecs to be able to decode
21# video into surface provided by virtual camera.
22hal_client_domain(virtual_camera, hal_codec2)
23hal_client_domain(virtual_camera, hal_omx)
24
25# Allow virtualCamera to call apps via binder.
26binder_call(virtual_camera, appdomain)
27
28# Allow virtual_camera to use fd from apps
29allow virtual_camera { appdomain -isolated_app }:fd use;
30
31# Only allow virtual_camera to add a virtual_camera_service and no one else.
32add_service(virtual_camera, virtual_camera_service);
33
34# Allow virtual_camera to map graphic buffers
35hal_client_domain(virtual_camera, hal_graphics_allocator)
36
37# Allow virtual_camera to use GPU
38allow virtual_camera gpu_device:chr_file rw_file_perms;
39allow virtual_camera gpu_device:dir r_dir_perms;
40
41# Allow virtual camera to use graphics composer fd-s (fences).
42allow virtual_camera hal_graphics_composer:fd use;
43
44# For collecting bugreports.
45allow virtual_camera dumpstate:fd use;
46allow virtual_camera dumpstate:fifo_file write;
47
48# Needed for permission checks.
49allow virtual_camera permission_service:service_manager find;
50