Skip to content
Snippets Groups Projects
  • Mark Salyzyn's avatar
    logd: add getEventTag command and service · 384ce662
    Mark Salyzyn authored
    The event log tag service uses /dev/event-log-tags, pstore and
    /data/misc/logd/event-log-tags as sticky storage for the invented
    log tags.
    
    Test: gTest liblog-unit-tests, logd-unit-tests & logcat-unit-tests
    Bug: 31456426
    Change-Id: Iacc8f36f4a716d4da8dca78a4a54600ad2a288dd
    384ce662
logd.te 929 B
# type_transition must be private policy the domain_trans rules could stay
# public, but conceptually should go with this
init_daemon_domain(logd)

# logd is not allowed to write anywhere other than /data/misc/logd, and then
# only on userdebug or eng builds
# TODO: deal with tmpfs_domain pub/priv split properly
neverallow logd {
  file_type
  -logd_tmpfs
  -runtime_event_log_tags_file
  userdebug_or_eng(`-coredump_file -misc_logd_file')
}:file { create write append };

# protect the event-log-tags file
neverallow {
  domain
  -appdomain # covered below
  -bootstat
  -dumpstate
  -init
  -logd
  userdebug_or_eng(`-logpersist')
  -servicemanager
  -system_server
  -surfaceflinger
  -zygote
} runtime_event_log_tags_file:file no_rw_file_perms;

neverallow {
  appdomain
  -bluetooth
  -platform_app
  -priv_app
  -radio
  -shell
  userdebug_or_eng(`-su')
  -system_app
} runtime_event_log_tags_file:file no_rw_file_perms;