diff --git a/private/compat/26.0/26.0.ignore.cil b/private/compat/26.0/26.0.ignore.cil index 1d8351d9976b00a326972caad9c610db7231cc41..fdc672abc7f412d6ac05978104bca81d61d5692f 100644 --- a/private/compat/26.0/26.0.ignore.cil +++ b/private/compat/26.0/26.0.ignore.cil @@ -34,6 +34,7 @@ thermalserviced_tmpfs timezone_service tombstoned_java_trace_socket + update_engine_log_data_file vendor_init vold_prepare_subdirs vold_prepare_subdirs_exec diff --git a/private/file_contexts b/private/file_contexts index ca0a6968520ab45cf06586c0791cb768a080bd21..05c36c3d1b6a36ed943e6be388f960093e24e00f 100644 --- a/private/file_contexts +++ b/private/file_contexts @@ -387,6 +387,7 @@ /data/misc/vold(/.*)? u:object_r:vold_data_file:s0 /data/misc/perfprofd(/.*)? u:object_r:perfprofd_data_file:s0 /data/misc/update_engine(/.*)? u:object_r:update_engine_data_file:s0 +/data/misc/update_engine_log(/.*)? u:object_r:update_engine_log_data_file:s0 /data/system/heapdump(/.*)? u:object_r:heapdump_data_file:s0 /data/misc/trace(/.*)? u:object_r:method_trace_data_file:s0 # TODO(calin) label profile reference differently so that only diff --git a/public/file.te b/public/file.te index 0798bd1cdee0585d453d8c99a7769b882de244d4..5353a3deca7e73d6e01765fcb2db3fa0b8afaf48 100644 --- a/public/file.te +++ b/public/file.te @@ -240,6 +240,7 @@ type vold_data_file, file_type, data_file_type, core_data_file_type; type perfprofd_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject; type tee_data_file, file_type, data_file_type; type update_engine_data_file, file_type, data_file_type, core_data_file_type; +type update_engine_log_data_file, file_type, data_file_type, core_data_file_type; # /data/misc/trace for method traces on userdebug / eng builds type method_trace_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject; diff --git a/public/update_engine.te b/public/update_engine.te index 289d21680988ed904fc2e47bf722777ceb86d07f..9f9b557a263fea298177ab2db76af6f1a56f7280 100644 --- a/public/update_engine.te +++ b/public/update_engine.te @@ -20,8 +20,12 @@ wakelock_use(update_engine); dontaudit update_engine kernel:process setsched; # Allow using persistent storage in /data/misc/update_engine. -allow update_engine update_engine_data_file:dir { create_dir_perms }; -allow update_engine update_engine_data_file:file { create_file_perms }; +allow update_engine update_engine_data_file:dir create_dir_perms; +allow update_engine update_engine_data_file:file create_file_perms; + +# Allow using persistent storage in /data/misc/update_engine_log. +allow update_engine update_engine_log_data_file:dir create_dir_perms; +allow update_engine update_engine_log_data_file:file create_file_perms; # Don't allow kernel module loading, just silence the logs. dontaudit update_engine kernel:system module_request;