From 8b326703e16804079272eea0df4404fc8a10c318 Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Wed, 23 Jun 2021 10:27:36 +0800 Subject: [PATCH] modularize dmd Bug: 190331463 Test: build ROM and make sure dmd is launched Change-Id: If1e51b6bc100e870a15a40f5e0d93a75fe68bac3 --- modem/user/dmd.te | 29 +++++++++++++++++++++ modem/user/file.te | 1 + modem/user/file_contexts | 2 ++ modem/user/property.te | 3 +++ modem/user/property_contexts | 14 ++++++++++ whitechapel/vendor/google/dmd.te | 28 -------------------- whitechapel/vendor/google/file.te | 1 - whitechapel/vendor/google/file_contexts | 3 --- whitechapel/vendor/google/property.te | 3 --- whitechapel/vendor/google/property_contexts | 14 ---------- 10 files changed, 49 insertions(+), 49 deletions(-) create mode 100644 modem/user/dmd.te create mode 100644 modem/user/file.te create mode 100644 modem/user/file_contexts create mode 100644 modem/user/property.te create mode 100644 modem/user/property_contexts 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 c858c346..000d3e3c 100644 --- a/whitechapel/vendor/google/file_contexts +++ b/whitechapel/vendor/google/file_contexts @@ -129,7 +129,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 @@ -157,8 +156,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 9454c2eb..9f9347f9 100644 --- a/whitechapel/vendor/google/property.te +++ b/whitechapel/vendor/google/property.te @@ -3,14 +3,11 @@ vendor_internal_prop(vendor_prop) vendor_internal_prop(vendor_ims_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 94d4065f..9be2642d 100644 --- a/whitechapel/vendor/google/property_contexts +++ b/whitechapel/vendor/google/property_contexts @@ -33,14 +33,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 @@ -54,12 +46,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