diff --git a/private/compat/26.0/26.0.cil b/private/compat/26.0/26.0.cil index c8b7a1f5a1929fc91544144548d1771b66e59ff2..085948a5675f135f834876439abfdc8f5cc06f27 100644 --- a/private/compat/26.0/26.0.cil +++ b/private/compat/26.0/26.0.cil @@ -279,7 +279,7 @@ (typeattributeset incident_data_file_26_0 (incident_data_file)) (typeattributeset incident_service_26_0 (incident_service)) (typeattributeset init_26_0 (init)) -(typeattributeset init_exec_26_0 (init_exec)) +(typeattributeset init_exec_26_0 (init_exec watchdogd_exec)) (typeattributeset inotify_26_0 (inotify)) (typeattributeset input_device_26_0 (input_device)) (typeattributeset inputflinger_26_0 (inputflinger)) diff --git a/private/compat/26.0/26.0.ignore.cil b/private/compat/26.0/26.0.ignore.cil index f29703efddd15651533b0420ed27fb623a2aa896..daeee95bf055298b644f7bdb58626b666b99bb74 100644 --- a/private/compat/26.0/26.0.ignore.cil +++ b/private/compat/26.0/26.0.ignore.cil @@ -156,6 +156,7 @@ wait_for_keymaster wait_for_keymaster_exec wait_for_keymaster_tmpfs + watchdogd_tmpfs wpantund wpantund_exec wpantund_service diff --git a/private/compat/27.0/27.0.cil b/private/compat/27.0/27.0.cil index d0cb9b7bbdce574c2e380b3353b403246b09b4ac..fcf4561c0bb7e65c3f9ddfeda869e4e880514ead 100644 --- a/private/compat/27.0/27.0.cil +++ b/private/compat/27.0/27.0.cil @@ -993,7 +993,7 @@ (typeattributeset incident_data_file_27_0 (incident_data_file)) (typeattributeset incident_service_27_0 (incident_service)) (typeattributeset init_27_0 (init)) -(typeattributeset init_exec_27_0 (init_exec)) +(typeattributeset init_exec_27_0 (init_exec watchdogd_exec)) (typeattributeset inotify_27_0 (inotify)) (typeattributeset input_device_27_0 (input_device)) (typeattributeset inputflinger_27_0 (inputflinger)) diff --git a/private/compat/27.0/27.0.ignore.cil b/private/compat/27.0/27.0.ignore.cil index ad986fce1ec1cccadf94e2d57e83cb3208d33c73..f99f9a7cfeaaaecbcfcdf9adcd1d343334cb11a0 100644 --- a/private/compat/27.0/27.0.ignore.cil +++ b/private/compat/27.0/27.0.ignore.cil @@ -131,6 +131,7 @@ wait_for_keymaster wait_for_keymaster_exec wait_for_keymaster_tmpfs + watchdogd_tmpfs wm_trace_data_file wpantund wpantund_exec diff --git a/private/compat/28.0/28.0.cil b/private/compat/28.0/28.0.cil index a784b444d08a6e873a71da43a49ace1cac455eb7..054cca26830d9124e6b2fcca20943bb56ddf9db9 100644 --- a/private/compat/28.0/28.0.cil +++ b/private/compat/28.0/28.0.cil @@ -1177,7 +1177,7 @@ (typeattributeset incident_helper_28_0 (incident_helper)) (typeattributeset incident_service_28_0 (incident_service)) (typeattributeset init_28_0 (init)) -(typeattributeset init_exec_28_0 (init_exec)) +(typeattributeset init_exec_28_0 (init_exec watchdogd_exec)) (typeattributeset inotify_28_0 (inotify)) (typeattributeset input_device_28_0 (input_device)) (typeattributeset inputflinger_28_0 (inputflinger)) diff --git a/private/compat/28.0/28.0.ignore.cil b/private/compat/28.0/28.0.ignore.cil index 1c09df8eeb8c69e0f927bce74df7eba577362327..ad7faa3512806bd5d528f387ecc0ad1f30588a6a 100644 --- a/private/compat/28.0/28.0.ignore.cil +++ b/private/compat/28.0/28.0.ignore.cil @@ -13,4 +13,5 @@ timedetector_service timezonedetector_service uri_grants_service - vrflinger_vsync_service)) + vrflinger_vsync_service + watchdogd_tmpfs)) diff --git a/private/file_contexts b/private/file_contexts index 9f3d8174bb85d98ebdba13e438a1ecf1d24d6dbb..e78c02fa8c4522a6b5c8d751ab300a2ff23921db 100644 --- a/private/file_contexts +++ b/private/file_contexts @@ -296,6 +296,7 @@ /system/bin/statsd u:object_r:statsd_exec:s0 /system/bin/bpfloader u:object_r:bpfloader_exec:s0 /system/bin/wait_for_keymaster u:object_r:wait_for_keymaster_exec:s0 +/system/bin/watchdogd u:object_r:watchdogd_exec:s0 ############################# # Vendor files diff --git a/private/init.te b/private/init.te index e9959d3d27aecafc2843fc541d6f0fe661e19c02..4cf69224973580a9336e1ef456111e37398dfd2a 100644 --- a/private/init.te +++ b/private/init.te @@ -13,7 +13,6 @@ recovery_only(` ') 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) diff --git a/private/watchdogd.te b/private/watchdogd.te index 36dd30fd77bbb1d38c7ab650449a24ce042e9ab5..91ece70522d11f67b94bab2e45a79122bb44a6cc 100644 --- a/private/watchdogd.te +++ b/private/watchdogd.te @@ -1 +1,3 @@ typeattribute watchdogd coredomain; + +init_daemon_domain(watchdogd) diff --git a/public/watchdogd.te b/public/watchdogd.te index 00292a9a9914311711ad4ab7e785a89134659b20..d2718d83355c0e786544c9baa1ec945ab16b7348 100644 --- a/public/watchdogd.te +++ b/public/watchdogd.te @@ -1,4 +1,6 @@ # watchdogd seclabel is specified in init.<board>.rc type watchdogd, domain; +type watchdogd_exec, exec_type, file_type; + allow watchdogd watchdog_device:chr_file rw_file_perms; allow watchdogd kmsg_device:chr_file rw_file_perms;