Skip to content
Snippets Groups Projects
Commit e68d2d2c authored by ynwang's avatar ynwang Committed by Jin Qian
Browse files

Storaged permissions for task I/O

Allow storaged to read /proc/[pid]/io
Grant binder access to storaged
Add storaged service
Grant storaged_exec access to dumpstate
Grant storaged binder_call to dumpstate

Bug: 32221677

Change-Id: Iecc9dba266c5566817a99ac6251eb943a0bac630
parent 9fa8823c
No related branches found
No related tags found
No related merge requests found
...@@ -5,6 +5,7 @@ neverallow { ...@@ -5,6 +5,7 @@ neverallow {
-debuggerd -debuggerd
-vold -vold
-dumpstate -dumpstate
-storaged
-system_server -system_server
userdebug_or_eng(`-perfprofd') userdebug_or_eng(`-perfprofd')
} self:capability sys_ptrace; } self:capability sys_ptrace;
...@@ -13,3 +13,7 @@ allow dumpstate debugfs_tracing:dir r_dir_perms; ...@@ -13,3 +13,7 @@ allow dumpstate debugfs_tracing:dir r_dir_perms;
allow dumpstate debugfs_tracing:file rw_file_perms; allow dumpstate debugfs_tracing:file rw_file_perms;
allow dumpstate debugfs_trace_marker:file getattr; allow dumpstate debugfs_trace_marker:file getattr;
allow dumpstate atrace_exec:file rx_file_perms; allow dumpstate atrace_exec:file rx_file_perms;
allow dumpstate storaged_exec:file rx_file_perms;
# Allow dumpstate to make binder calls to storaged service
binder_call(dumpstate, storaged)
...@@ -133,6 +133,7 @@ simphonebook u:object_r:radio_service:s0 ...@@ -133,6 +133,7 @@ simphonebook u:object_r:radio_service:s0
sip u:object_r:radio_service:s0 sip u:object_r:radio_service:s0
soundtrigger u:object_r:voiceinteraction_service:s0 soundtrigger u:object_r:voiceinteraction_service:s0
statusbar u:object_r:statusbar_service:s0 statusbar u:object_r:statusbar_service:s0
storaged u:object_r:storaged_service:s0
SurfaceFlinger u:object_r:surfaceflinger_service:s0 SurfaceFlinger u:object_r:surfaceflinger_service:s0
task u:object_r:task_service:s0 task u:object_r:task_service:s0
telecom u:object_r:telecom_service:s0 telecom u:object_r:telecom_service:s0
......
# storaged daemon # storaged daemon
type storaged, domain; type storaged, domain, mlstrustedsubject;
type storaged_exec, exec_type, file_type; type storaged_exec, exec_type, file_type;
init_daemon_domain(storaged) init_daemon_domain(storaged)
...@@ -11,9 +11,22 @@ allow storaged kmsg_device:chr_file { write append }; ...@@ -11,9 +11,22 @@ allow storaged kmsg_device:chr_file { write append };
allow storaged proc:dir r_dir_perms; allow storaged proc:dir r_dir_perms;
r_dir_file(storaged, sysfs_type) r_dir_file(storaged, sysfs_type)
r_dir_file(storaged, proc_net) r_dir_file(storaged, proc_net)
r_dir_file(storaged, domain)
# Read access to debugfs allow storaged self:capability { setgid setuid sys_nice sys_ptrace };
allow storaged debugfs_mmc:dir search;
allow storaged debugfs_mmc:file r_file_perms;
userdebug_or_eng(`
# Read access to debugfs
allow storaged debugfs_mmc:dir search;
allow storaged debugfs_mmc:file r_file_perms;
')
# Binder permissions
allow storaged storaged_service:service_manager add;
binder_use(storaged)
binder_call(storaged, system_server)
###
### neverallow
###
neverallow storaged domain:process ptrace;
...@@ -19,6 +19,7 @@ type mediadrmserver_service, service_manager_type; ...@@ -19,6 +19,7 @@ type mediadrmserver_service, service_manager_type;
type netd_service, service_manager_type; type netd_service, service_manager_type;
type nfc_service, service_manager_type; type nfc_service, service_manager_type;
type radio_service, service_manager_type; type radio_service, service_manager_type;
type storaged_service, service_manager_type;
type surfaceflinger_service, service_manager_type; type surfaceflinger_service, service_manager_type;
type system_app_service, service_manager_type; type system_app_service, service_manager_type;
type update_engine_service, service_manager_type; type update_engine_service, service_manager_type;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment