Home | History | Annotate | Download | only in private
      1 typeattribute logpersist coredomain;
      2 
      3 # android debug log storage in logpersist domains (eng and userdebug only)
      4 userdebug_or_eng(`
      5 
      6   r_dir_file(logpersist, cgroup)
      7 
      8   allow logpersist misc_logd_file:file create_file_perms;
      9   allow logpersist misc_logd_file:dir rw_dir_perms;
     10 
     11   allow logpersist self:global_capability_class_set sys_nice;
     12   allow logpersist pstorefs:dir search;
     13   allow logpersist pstorefs:file r_file_perms;
     14 
     15   control_logd(logpersist)
     16   unix_socket_connect(logpersist, logdr, logd)
     17   read_runtime_log_tags(logpersist)
     18 
     19 ')
     20 
     21 # logpersist is allowed to write to /data/misc/log for userdebug and eng builds
     22 neverallow logpersist { file_type userdebug_or_eng(`-misc_logd_file -coredump_file') }:file { create write append };
     23 neverallow { domain -init userdebug_or_eng(`-logpersist -logd -dumpstate') } misc_logd_file:file no_rw_file_perms;
     24 neverallow { domain -init userdebug_or_eng(`-logpersist -logd') } misc_logd_file:dir { add_name link relabelfrom remove_name rename reparent rmdir write };
     25