832a7042b0
The kernel generates file creation audits when O_CREAT is passed even
if the file already exists - which it always does in the cgroup cases.
We add neverallow rules to prevent mistakenly allowing unnecessary
create access. We also suppress these denials, which just add noise to
the log, for the more common culprits.
Bug: 72643420
Bug: 74182216
Test: Ran build_policies.sh and checked failures were unrelated.
Test: Device still boots, denials gone.
Change-Id: I034b41ca70da1e73b81fe90090e656f4a3b542dc
(cherry picked from commit 92c149d077
)
32 lines
1.1 KiB
Text
32 lines
1.1 KiB
Text
typeattribute init coredomain;
|
|
|
|
tmpfs_domain(init)
|
|
|
|
# Transitions to seclabel processes in init.rc
|
|
domain_trans(init, rootfs, charger)
|
|
domain_trans(init, rootfs, healthd)
|
|
domain_trans(init, rootfs, slideshow)
|
|
domain_auto_trans(init, e2fs_exec, e2fs)
|
|
recovery_only(`
|
|
domain_trans(init, rootfs, adbd)
|
|
domain_trans(init, rootfs, recovery)
|
|
')
|
|
domain_trans(init, shell_exec, shell)
|
|
domain_trans(init, init_exec, ueventd)
|
|
domain_trans(init, init_exec, watchdogd)
|
|
domain_trans(init, init_exec, vendor_init)
|
|
domain_trans(init, { rootfs toolbox_exec }, modprobe)
|
|
# case where logpersistd is actually logcat -f in logd context (nee: logcatd)
|
|
userdebug_or_eng(`
|
|
domain_auto_trans(init, logcat_exec, logpersist)
|
|
')
|
|
|
|
# Creating files on sysfs is impossible so this isn't a threat
|
|
# Sometimes we have to write to non-existent files to avoid conditional
|
|
# init behavior. See b/35303861 for an example.
|
|
dontaudit init sysfs:dir write;
|
|
|
|
# Suppress false positives when using O_CREAT
|
|
# to open a file that already exists.
|
|
# There's a neverallow rule for this in domain.te
|
|
dontaudit init cgroup:file create;
|