Cameraserver: Allow cameraserver to access /data/misc/cameraserver
Test: Cameraserver writes/reads/overwrites files in the folder
Bug: 79465976
Change-Id: I76460844a8e02e4c6ce704b85c72e57f861f5b18
diff --git a/private/compat/28.0/28.0.ignore.cil b/private/compat/28.0/28.0.ignore.cil
index e8ac336..d43705f 100644
--- a/private/compat/28.0/28.0.ignore.cil
+++ b/private/compat/28.0/28.0.ignore.cil
@@ -22,6 +22,7 @@
biometric_service
bpf_progs_loaded_prop
bugreport_service
+ cameraserver_data_file
content_capture_service
content_suggestions_service
cpu_variant_prop
diff --git a/private/file_contexts b/private/file_contexts
index 01c5bb0..af9572d 100644
--- a/private/file_contexts
+++ b/private/file_contexts
@@ -456,6 +456,7 @@
/data/misc/bluedroid/\.a2dp_ctrl u:object_r:bluetooth_socket:s0
/data/misc/bluedroid/\.a2dp_data u:object_r:bluetooth_socket:s0
/data/misc/camera(/.*)? u:object_r:camera_data_file:s0
+/data/misc/cameraserver(/.*)? u:object_r:cameraserver_data_file:s0
/data/misc/carrierid(/.*)? u:object_r:radio_data_file:s0
/data/misc/dhcp(/.*)? u:object_r:dhcp_data_file:s0
/data/misc/dhcp-6\.8\.2(/.*)? u:object_r:dhcp_data_file:s0
diff --git a/public/cameraserver.te b/public/cameraserver.te
index 4e28298..fee4bdb 100644
--- a/public/cameraserver.te
+++ b/public/cameraserver.te
@@ -62,6 +62,11 @@
hal_client_domain(cameraserver, hal_omx)
hal_client_domain(cameraserver, hal_allocator)
+userdebug_or_eng(`
+ allow cameraserver cameraserver_data_file:dir { add_name write search remove_name };
+ allow cameraserver cameraserver_data_file:file { create write open read unlink };
+')
+
# Allow shell commands from ADB for CTS testing/dumping
userdebug_or_eng(`
allow cameraserver su:fd use;
diff --git a/public/file.te b/public/file.te
index 2d26610..e0f67a4 100644
--- a/public/file.te
+++ b/public/file.te
@@ -291,6 +291,7 @@
type bootstat_data_file, file_type, data_file_type, core_data_file_type;
type boottrace_data_file, file_type, data_file_type, core_data_file_type;
type camera_data_file, file_type, data_file_type, core_data_file_type;
+type cameraserver_data_file, file_type, data_file_type, core_data_file_type;
type gatekeeper_data_file, file_type, data_file_type, core_data_file_type;
type incident_data_file, file_type, data_file_type, core_data_file_type;
type keychain_data_file, file_type, data_file_type, core_data_file_type;