diff --git a/init.hardware.diag.rc.userdebug b/init.hardware.diag.rc.userdebug index 18cf4f36..58821194 100644 --- a/init.hardware.diag.rc.userdebug +++ b/init.hardware.diag.rc.userdebug @@ -16,7 +16,8 @@ on post-fs-data # Modem logging collection - mkdir /data/diag_logs 0777 system system + mkdir /data/vendor/radio 0775 radio radio + mkdir /data/vendor/radio/diag_logs 0777 system system # WLAN logging collection mkdir /data/cnss_diag 0777 system system diff --git a/sepolicy/file.te b/sepolicy/file.te index 1faab618..a3a590e9 100644 --- a/sepolicy/file.te +++ b/sepolicy/file.te @@ -38,4 +38,6 @@ type netmgr_data_file, file_type, data_file_type; type nfc_vendor_data_file, file_type, data_file_type; +type radio_vendor_data_file, file_type, data_file_type, mlstrustedobject; + type ramdump_data_file, file_type, data_file_type, mlstrustedobject; diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts index 50bbb489..759dd5bf 100644 --- a/sepolicy/file_contexts +++ b/sepolicy/file_contexts @@ -138,6 +138,7 @@ # data files /data/misc/radio(/.*)? u:object_r:radio_data_file:s0 +/data/vendor/radio(/.*)? u:object_r:radio_vendor_data_file:s0 /data/misc/netmgr(/.*)? u:object_r:netmgr_data_file:s0 /data/misc/location(/.*)? u:object_r:location_data_file:s0 /data/ramdump(/.*)? u:object_r:ramdump_data_file:s0 diff --git a/sepolicy/hal_dumpstate_impl.te b/sepolicy/hal_dumpstate_impl.te index 6f543c97..254a9125 100644 --- a/sepolicy/hal_dumpstate_impl.te +++ b/sepolicy/hal_dumpstate_impl.te @@ -19,8 +19,10 @@ userdebug_or_eng(` allow hal_dumpstate_impl smlog_dump_file:dir create_dir_perms; allow hal_dumpstate_impl smlog_dump_file:file create_file_perms; allow hal_dumpstate_impl radio_data_file:dir r_dir_perms; + allow hal_dumpstate_impl radio_vendor_data_file:dir r_dir_perms; allow hal_dumpstate_impl netmgr_data_file:dir r_dir_perms; allow hal_dumpstate_impl radio_data_file:file r_file_perms; + allow hal_dumpstate_impl radio_vendor_data_file:file r_file_perms; allow hal_dumpstate_impl netmgr_data_file:file r_file_perms; ') diff --git a/sepolicy/logger_app.te b/sepolicy/logger_app.te new file mode 100644 index 00000000..a172a07e --- /dev/null +++ b/sepolicy/logger_app.te @@ -0,0 +1,12 @@ +type logger_app, domain; + +userdebug_or_eng(` + app_domain(logger_app) + net_domain(logger_app) + + allow logger_app app_api_service:service_manager find; + allow logger_app surfaceflinger_service:service_manager find; + + allow logger_app radio_vendor_data_file:file { create open unlink getattr setattr read write }; + allow logger_app radio_vendor_data_file:dir { create open rmdir add_name remove_name getattr setattr search read write }; +') diff --git a/sepolicy/seapp_contexts b/sepolicy/seapp_contexts new file mode 100644 index 00000000..2c42fc3e --- /dev/null +++ b/sepolicy/seapp_contexts @@ -0,0 +1 @@ +user=_app seinfo=platform name=com.android.nexuslogger domain=logger_app type=app_data_file levelFrom=all