Merge "Allow system watchdog to collect traces from vold."
diff --git a/prebuilts/api/28.0/public/lmkd.te b/prebuilts/api/28.0/public/lmkd.te
index 472946e..5b4a235 100644
--- a/prebuilts/api/28.0/public/lmkd.te
+++ b/prebuilts/api/28.0/public/lmkd.te
@@ -21,8 +21,8 @@
r_dir_file(lmkd, sysfs_lowmemorykiller)
allow lmkd sysfs_lowmemorykiller:file w_file_perms;
-# Send kill signals
-allow lmkd appdomain:process sigkill;
+# setsched and send kill signals
+allow lmkd appdomain:process { setsched sigkill };
# Clean up old cgroups
allow lmkd cgroup:dir { remove_name rmdir };
diff --git a/private/compat/26.0/26.0.ignore.cil b/private/compat/26.0/26.0.ignore.cil
index c9c127f..91901d3 100644
--- a/private/compat/26.0/26.0.ignore.cil
+++ b/private/compat/26.0/26.0.ignore.cil
@@ -175,7 +175,6 @@
time_prop
timedetector_service
timezone_service
- timezonedetector_service
tombstoned_java_trace_socket
tombstone_wifi_data_file
trace_data_file
diff --git a/private/compat/27.0/27.0.ignore.cil b/private/compat/27.0/27.0.ignore.cil
index ddd4e06..58e6d91 100644
--- a/private/compat/27.0/27.0.ignore.cil
+++ b/private/compat/27.0/27.0.ignore.cil
@@ -154,7 +154,6 @@
test_boot_reason_prop
time_prop
timedetector_service
- timezonedetector_service
tombstone_wifi_data_file
trace_data_file
traced
diff --git a/private/compat/28.0/28.0.ignore.cil b/private/compat/28.0/28.0.ignore.cil
index c989825..ee482c1 100644
--- a/private/compat/28.0/28.0.ignore.cil
+++ b/private/compat/28.0/28.0.ignore.cil
@@ -110,6 +110,7 @@
system_lmk_prop
system_suspend_hwservice
system_suspend_control_service
+ system_trace_prop
staging_data_file
task_profiles_file
testharness_service
diff --git a/private/genfs_contexts b/private/genfs_contexts
index 2a74484..6189adb 100644
--- a/private/genfs_contexts
+++ b/private/genfs_contexts
@@ -224,6 +224,7 @@
genfscon tracefs /events/oom/oom_score_adj_update/ u:object_r:debugfs_tracing:s0
genfscon tracefs /events/task/task_rename/ u:object_r:debugfs_tracing:s0
genfscon tracefs /events/task/task_newtask/ u:object_r:debugfs_tracing:s0
+genfscon tracefs /events/ftrace/print/ u:object_r:debugfs_tracing:s0
genfscon debugfs /tracing/trace_clock u:object_r:debugfs_tracing:s0
genfscon debugfs /tracing/buffer_size_kb u:object_r:debugfs_tracing:s0
@@ -263,6 +264,7 @@
genfscon debugfs /events/oom/oom_score_adj_update/ u:object_r:debugfs_tracing:s0
genfscon debugfs /events/task/task_rename/ u:object_r:debugfs_tracing:s0
genfscon debugfs /events/task/task_newtask/ u:object_r:debugfs_tracing:s0
+genfscon debugfs /tracing/events/ftrace/print/ u:object_r:debugfs_tracing:s0
genfscon debugfs /kcov u:object_r:debugfs_kcov:s0
diff --git a/private/property_contexts b/private/property_contexts
index 4eb10dd..8024954 100644
--- a/private/property_contexts
+++ b/private/property_contexts
@@ -79,6 +79,7 @@
pm. u:object_r:pm_prop:s0
test.sys.boot.reason u:object_r:test_boot_reason_prop:s0
sys.lmk. u:object_r:system_lmk_prop:s0
+sys.trace. u:object_r:system_trace_prop:s0
# Boolean property set by system server upon boot indicating
# if device owner is provisioned.
diff --git a/private/service_contexts b/private/service_contexts
index 1462033..5295d7f 100644
--- a/private/service_contexts
+++ b/private/service_contexts
@@ -193,7 +193,6 @@
textservices u:object_r:textservices_service:s0
time_detector u:object_r:timedetector_service:s0
timezone u:object_r:timezone_service:s0
-time_zone_detector u:object_r:timezonedetector_service:s0
thermalservice u:object_r:thermal_service:s0
trust u:object_r:trust_service:s0
tv_input u:object_r:tv_input_service:s0
diff --git a/private/traced.te b/private/traced.te
index a3c5d8b..0aeb11b 100644
--- a/private/traced.te
+++ b/private/traced.te
@@ -36,6 +36,10 @@
allow traced iorapd:fd use;
allow traced iorapd_tmpfs:file { read write };
+# Allow traced to notify Traceur when a trace ends by setting the
+# sys.trace.trace_end_signal property.
+set_prop(traced, system_trace_prop)
+
###
### Neverallow rules
###
diff --git a/public/property.te b/public/property.te
index 6cc67ed..8baef8d 100644
--- a/public/property.te
+++ b/public/property.te
@@ -74,6 +74,7 @@
type system_boot_reason_prop, property_type;
type system_prop, property_type, core_property_type;
type system_radio_prop, property_type, core_property_type;
+type system_trace_prop, property_type;
type test_boot_reason_prop, property_type;
type test_harness_prop, property_type;
type time_prop, property_type;
@@ -440,6 +441,7 @@
-system_boot_reason_prop
-system_prop
-system_radio_prop
+ -system_trace_prop
-test_boot_reason_prop
-test_harness_prop
-time_prop
diff --git a/public/radio.te b/public/radio.te
index 8a8bef3..dcafd93 100644
--- a/public/radio.te
+++ b/public/radio.te
@@ -35,7 +35,6 @@
allow radio app_api_service:service_manager find;
allow radio system_api_service:service_manager find;
allow radio timedetector_service:service_manager find;
-allow radio timezonedetector_service:service_manager find;
# Perform HwBinder IPC.
hwbinder_use(radio)
diff --git a/public/service.te b/public/service.te
index 3d5b41c..e3721b7 100644
--- a/public/service.te
+++ b/public/service.te
@@ -165,7 +165,6 @@
type telecom_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
type timedetector_service, system_server_service, service_manager_type;
type timezone_service, system_server_service, service_manager_type;
-type timezonedetector_service, system_server_service, service_manager_type;
type trust_service, app_api_service, system_server_service, service_manager_type;
type tv_input_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;
type uimode_service, app_api_service, ephemeral_app_api_service, system_server_service, service_manager_type;