modularize dmd

Bug: 190331463
Test: build ROM and make sure dmd is launched
Change-Id: If1e51b6bc100e870a15a40f5e0d93a75fe68bac3
This commit is contained in:
Adam Shih 2021-06-23 10:27:36 +08:00
parent d912300853
commit 8b326703e1
10 changed files with 49 additions and 49 deletions

29
modem/user/dmd.te Normal file
View file

@ -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)

1
modem/user/file.te Normal file
View file

@ -0,0 +1 @@
type vendor_slog_file, file_type, data_file_type, mlstrustedobject;

2
modem/user/file_contexts Normal file
View file

@ -0,0 +1,2 @@
/data/vendor/slog(/.*)? u:object_r:vendor_slog_file:s0
/vendor/bin/dmd u:object_r:dmd_exec:s0

3
modem/user/property.te Normal file
View file

@ -0,0 +1,3 @@
vendor_internal_prop(vendor_diag_prop)
vendor_internal_prop(vendor_slog_prop)
vendor_internal_prop(vendor_modem_prop)

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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