diff --git a/private/screencap.te b/private/screencap.te index 579373aa6a3b41a20edfa24d477c3723bbcf9c9d..764880f55273a21dc452d7bca95d22a1e7e56ed1 100644 --- a/private/screencap.te +++ b/private/screencap.te @@ -8,7 +8,7 @@ allow screencap ion_device:chr_file rw_file_perms; allow screencap adbd:fifo_file write; allow screencap adbd:fd use; -allow screencap adbd:unix_stream_socket { read write }; +allow screencap adbd:unix_stream_socket { read write getattr ioctl }; allow screencap shell_data_file:file write; allow screencap shell:fd use; @@ -20,7 +20,21 @@ allow screencap dumpstate:unix_stream_socket { read write }; binder_use(screencap) binder_call(screencap, surfaceflinger) allow screencap surfaceflinger_service:service_manager find; -allow screencap surfaceflinger:fd use; +binder_call(screencap, system_server) +allow screencap activity_service:service_manager find; hwbinder_use(screencap) hal_client_domain(screencap, hal_graphics_allocator) + +allow screencap shell_exec:file rx_file_perms; +allow screencap system_file:file execute_no_trans; + +allow screencap media_rw_data_file:dir rw_dir_perms; +allow screencap media_rw_data_file:file rw_file_perms; +allow screencap mnt_user_file:dir search; +allow screencap mnt_user_file:lnk_file read; +allow screencap sdcardfs:dir { search write }; +allow screencap sdcardfs:file { open write }; +allow screencap storage_file:dir search; +allow screencap storage_file:lnk_file read; +allow screencap tmpfs:dir search; diff --git a/private/system_server.te b/private/system_server.te index a46272ad6be7a9fc8fa6fb82507a50b6a7e99451..00dc6a568ac79aa245a7e8ad2c021c4a650003e1 100644 --- a/private/system_server.te +++ b/private/system_server.te @@ -181,6 +181,7 @@ binder_call(system_server, gatekeeperd) binder_call(system_server, installd) binder_call(system_server, incidentd) binder_call(system_server, netd) +binder_call(system_server, screencap) binder_call(system_server, wificond) binder_service(system_server)