diff --git a/modem/user/dmd.te b/modem/user/dmd.te new file mode 100644 index 00000000..eabf8930 --- /dev/null +++ b/modem/user/dmd.te @@ -0,0 +1,29 @@ +type dmd, domain; +type dmd_exec, vendor_file_type, exec_type, file_type; +init_daemon_domain(dmd) + +# Grant to access serial device for external logging tool +allow dmd serial_device:chr_file rw_file_perms; + +# Grant to access radio device +allow dmd radio_device:chr_file rw_file_perms; + +# Grant to access slog dir/file +allow dmd vendor_slog_file:dir create_dir_perms; +allow dmd vendor_slog_file:file create_file_perms; + +# Grant to access tcp socket +allow dmd node:tcp_socket node_bind; +allow dmd self:tcp_socket { create_socket_perms_no_ioctl listen accept bind }; + +# Grant to access log related properties +set_prop(dmd, vendor_diag_prop) +set_prop(dmd, vendor_slog_prop) +set_prop(dmd, vendor_modem_prop) + +get_prop(dmd, vendor_persist_config_default_prop) + +# Grant to access hwservice manager +get_prop(dmd, hwservicemanager_prop) + +binder_call(dmd, hwservicemanager) diff --git a/modem/user/file.te b/modem/user/file.te new file mode 100644 index 00000000..e2beb8bc --- /dev/null +++ b/modem/user/file.te @@ -0,0 +1 @@ +type vendor_slog_file, file_type, data_file_type, mlstrustedobject; diff --git a/modem/user/file_contexts b/modem/user/file_contexts new file mode 100644 index 00000000..ff1482bc --- /dev/null +++ b/modem/user/file_contexts @@ -0,0 +1,2 @@ +/data/vendor/slog(/.*)? u:object_r:vendor_slog_file:s0 +/vendor/bin/dmd u:object_r:dmd_exec:s0 diff --git a/modem/user/property.te b/modem/user/property.te new file mode 100644 index 00000000..353b1c8a --- /dev/null +++ b/modem/user/property.te @@ -0,0 +1,3 @@ +vendor_internal_prop(vendor_diag_prop) +vendor_internal_prop(vendor_slog_prop) +vendor_internal_prop(vendor_modem_prop) diff --git a/modem/user/property_contexts b/modem/user/property_contexts new file mode 100644 index 00000000..0be942b8 --- /dev/null +++ b/modem/user/property_contexts @@ -0,0 +1,14 @@ +# for dmd +persist.vendor.sys.dm. u:object_r:vendor_diag_prop:s0 +persist.vendor.sys.diag. u:object_r:vendor_diag_prop:s0 +vendor.sys.dmd. u:object_r:vendor_diag_prop:s0 +vendor.sys.diag. u:object_r:vendor_diag_prop:s0 + +# for modem +persist.vendor.modem. u:object_r:vendor_modem_prop:s0 +vendor.modem. u:object_r:vendor_modem_prop:s0 +vendor.sys.modem. u:object_r:vendor_modem_prop:s0 +ro.vendor.sys.modem. u:object_r:vendor_modem_prop:s0 +vendor.sys.exynos.modempath u:object_r:vendor_modem_prop:s0 +persist.vendor.sys.modem. u:object_r:vendor_modem_prop:s0 + diff --git a/whitechapel/vendor/google/dmd.te b/whitechapel/vendor/google/dmd.te index 4f9cef1d..b51c34d6 100644 --- a/whitechapel/vendor/google/dmd.te +++ b/whitechapel/vendor/google/dmd.te @@ -1,33 +1,5 @@ -type dmd, domain; -type dmd_exec, vendor_file_type, exec_type, file_type; -init_daemon_domain(dmd) - -# Grant to access serial device for external logging tool -allow dmd serial_device:chr_file rw_file_perms; - -# Grant to access radio device -allow dmd radio_device:chr_file rw_file_perms; - -# Grant to access slog dir/file -allow dmd vendor_slog_file:dir create_dir_perms; -allow dmd vendor_slog_file:file create_file_perms; - -# Grant to access tcp socket -allow dmd node:tcp_socket node_bind; -allow dmd self:tcp_socket { create_socket_perms_no_ioctl listen accept bind }; - -# Grant to access log related properties -set_prop(dmd, vendor_diag_prop) -set_prop(dmd, vendor_slog_prop) -set_prop(dmd, vendor_modem_prop) - -get_prop(dmd, vendor_persist_config_default_prop) - -# Grant to access hwservice manager -get_prop(dmd, hwservicemanager_prop) allow dmd hidl_base_hwservice:hwservice_manager add; allow dmd hal_vendor_oem_hwservice:hwservice_manager { add find }; -binder_call(dmd, hwservicemanager) binder_call(dmd, modem_diagnostic_app) binder_call(dmd, modem_logging_control) binder_call(dmd, vendor_telephony_app) diff --git a/whitechapel/vendor/google/file.te b/whitechapel/vendor/google/file.te index ce5b993c..2b58a952 100644 --- a/whitechapel/vendor/google/file.te +++ b/whitechapel/vendor/google/file.te @@ -11,7 +11,6 @@ type vendor_rfsd_log_file, file_type, data_file_type; type vendor_dump_log_file, file_type, data_file_type; type vendor_rild_log_file, file_type, data_file_type; type vendor_sced_log_file, file_type, data_file_type; -type vendor_slog_file, file_type, data_file_type, mlstrustedobject; type vendor_telephony_log_file, file_type, data_file_type; # app data files diff --git a/whitechapel/vendor/google/file_contexts b/whitechapel/vendor/google/file_contexts index aa513114..b892d447 100644 --- a/whitechapel/vendor/google/file_contexts +++ b/whitechapel/vendor/google/file_contexts @@ -128,7 +128,6 @@ # Exynos Daemon Exec # /(vendor|system/vendor)/bin/cbd u:object_r:cbd_exec:s0 -/(vendor|system/vendor)/bin/dmd u:object_r:dmd_exec:s0 /(vendor|system/vendor)/bin/hw/scd u:object_r:scd_exec:s0 /(vendor|system/vendor)/bin/hw/gpsd u:object_r:gpsd_exec:s0 /(vendor|system/vendor)/bin/hw/lhd u:object_r:lhd_exec:s0 @@ -153,8 +152,6 @@ /data/vendor/log/dump(/.*)? u:object_r:vendor_dump_log_file:s0 /data/vendor/log/rild(/.*)? u:object_r:vendor_rild_log_file:s0 /data/vendor/log/sced(/.*)? u:object_r:vendor_sced_log_file:s0 -/data/vendor/log/slog(/.*)? u:object_r:vendor_slog_file:s0 -/data/vendor/slog(/.*)? u:object_r:vendor_slog_file:s0 /persist/sensorcal\.json u:object_r:sensors_cal_file:s0 diff --git a/whitechapel/vendor/google/property.te b/whitechapel/vendor/google/property.te index fd2bf3e2..4b671a4c 100644 --- a/whitechapel/vendor/google/property.te +++ b/whitechapel/vendor/google/property.te @@ -2,14 +2,11 @@ vendor_internal_prop(vendor_prop) vendor_internal_prop(vendor_rcs_prop) vendor_internal_prop(vendor_rild_prop) -vendor_internal_prop(vendor_slog_prop) vendor_internal_prop(sensors_prop) vendor_internal_prop(vendor_ssrdump_prop) vendor_internal_prop(vendor_device_prop) vendor_internal_prop(vendor_usb_config_prop) vendor_internal_prop(vendor_secure_element_prop) -vendor_internal_prop(vendor_modem_prop) -vendor_internal_prop(vendor_diag_prop) vendor_internal_prop(vendor_cbd_prop) # vendor defaults vendor_internal_prop(vendor_config_default_prop) diff --git a/whitechapel/vendor/google/property_contexts b/whitechapel/vendor/google/property_contexts index 60fb284b..3fe740e2 100644 --- a/whitechapel/vendor/google/property_contexts +++ b/whitechapel/vendor/google/property_contexts @@ -29,14 +29,6 @@ vendor.debug.c2.dump.opt u:object_r:vendor_codec2_debug_prop:s0 persist.vendor.usb. u:object_r:vendor_usb_config_prop:s0 vendor.usb. u:object_r:vendor_usb_config_prop:s0 -# for modem -persist.vendor.modem. u:object_r:vendor_modem_prop:s0 -vendor.modem. u:object_r:vendor_modem_prop:s0 -vendor.sys.modem. u:object_r:vendor_modem_prop:s0 -ro.vendor.sys.modem. u:object_r:vendor_modem_prop:s0 -vendor.sys.exynos.modempath u:object_r:vendor_modem_prop:s0 -persist.vendor.sys.modem. u:object_r:vendor_modem_prop:s0 - # for logger app vendor.pixellogger. u:object_r:vendor_logger_prop:s0 persist.vendor.pixellogger. u:object_r:vendor_logger_prop:s0 @@ -51,12 +43,6 @@ vendor.sys.silentlog. u:object_r:vendor_slog_prop:s0 vendor.sys.exynos.slog. u:object_r:vendor_slog_prop:s0 persist.vendor.sys.silentlog u:object_r:vendor_slog_prop:s0 -# for dmd -persist.vendor.sys.dm. u:object_r:vendor_diag_prop:s0 -persist.vendor.sys.diag. u:object_r:vendor_diag_prop:s0 -vendor.sys.dmd. u:object_r:vendor_diag_prop:s0 -vendor.sys.diag. u:object_r:vendor_diag_prop:s0 - # vendor default vendor.config. u:object_r:vendor_config_default_prop:s0 ro.vendor.config. u:object_r:vendor_ro_config_default_prop:s0