f5446eb148
On PRODUCT_FULL_TREBLE devices, non-vendor domains (except vendor apps) are not permitted to use Binder. This commit thus: * groups non-vendor domains using the new "coredomain" attribute, * adds neverallow rules restricting Binder use to coredomain and appdomain only, and * temporarily exempts the domains which are currently violating this rule from this restriction. These domains are grouped using the new "binder_in_vendor_violators" attribute. The attribute is needed because the types corresponding to violators are not exposed to the public policy where the neverallow rules are. Test: mmm system/sepolicy Test: Device boots, no new denials Test: In Chrome, navigate to ip6.me, play a YouTube video Test: YouTube: play a video Test: Netflix: play a movie Test: Google Camera: take a photo, take an HDR+ photo, record video with sound, record slow motion video with sound. Confirm videos play back fine and with sound. Bug: 35870313 Change-Id: I0cd1a80b60bcbde358ce0f7a47b90f4435a45c95
24 lines
994 B
Text
24 lines
994 B
Text
typeattribute logpersist coredomain;
|
|
|
|
# android debug log storage in logpersist domains (eng and userdebug only)
|
|
userdebug_or_eng(`
|
|
|
|
r_dir_file(logpersist, cgroup)
|
|
|
|
allow logpersist misc_logd_file:file create_file_perms;
|
|
allow logpersist misc_logd_file:dir rw_dir_perms;
|
|
|
|
allow logpersist self:capability sys_nice;
|
|
allow logpersist pstorefs:dir search;
|
|
allow logpersist pstorefs:file r_file_perms;
|
|
|
|
control_logd(logpersist)
|
|
unix_socket_connect(logpersist, logdr, logd)
|
|
read_runtime_log_tags(logpersist)
|
|
|
|
')
|
|
|
|
# logpersist is allowed to write to /data/misc/log for userdebug and eng builds
|
|
neverallow logpersist { file_type userdebug_or_eng(`-misc_logd_file -coredump_file') }:file { create write append };
|
|
neverallow { domain -init userdebug_or_eng(`-logpersist -logd -dumpstate') } misc_logd_file:file no_rw_file_perms;
|
|
neverallow { domain -init userdebug_or_eng(`-logpersist -logd') } misc_logd_file:dir { add_name link relabelfrom remove_name rename reparent rmdir write };
|