modem_svc: Grant to access vendor_build_type_prop and vendor_modem_prop
1. Label ro.vendor.build.type to vendor_build_type_prop and grant vendor_init and modem_svc to access
2. Modem could set persist.modem. properties
Bug: 130531503
Change-Id: I4c603a4e2079c259099a062dbd433fcf5a08dc88
Merged-In: I4c603a4e2079c259099a062dbd433fcf5a08dc88
diff --git a/vendor/google/modem_svc.te b/vendor/google/modem_svc.te
new file mode 100644
index 0000000..f039ba1
--- /dev/null
+++ b/vendor/google/modem_svc.te
@@ -0,0 +1,23 @@
+type modem_svc, domain;
+type modem_svc_exec, exec_type, vendor_file_type, file_type;
+
+init_daemon_domain(modem_svc)
+
+allow modem_svc self:capability net_bind_service;
+allow modem_svc self:socket create_socket_perms;
+allowxperm modem_svc self:socket ioctl msm_sock_ipc_ioctls;
+
+# For property service
+set_prop(modem_svc, vendor_modem_diag_prop)
+set_prop(modem_svc, vendor_modem_prop)
+get_prop(modem_svc, vendor_build_type_prop)
+get_prop(modem_svc, exported2_default_prop)
+get_prop(modem_svc, exported3_radio_prop)
+
+# For bugreport collection
+allow modem_svc hal_dumpstate_impl:fd use;
+allow modem_svc dumpstate:fd use;
+allow modem_svc shell_data_file:file write;
+
+dontaudit modem_svc kernel:system module_request;
+dontaudit modem_svc sysfs_msm_subsys:dir search;
diff --git a/vendor/google/property.te b/vendor/google/property.te
index 4c15940..9c44528 100644
--- a/vendor/google/property.te
+++ b/vendor/google/property.te
@@ -4,3 +4,6 @@
# fingerprint
type vendor_fingerprint_prop, property_type;
+
+type vendor_build_type_prop, property_type;
+type vendor_modem_prop, property_type;
diff --git a/vendor/google/property_contexts b/vendor/google/property_contexts
index 42b9c73..8571d62 100644
--- a/vendor/google/property_contexts
+++ b/vendor/google/property_contexts
@@ -14,3 +14,6 @@
# fingerprint
vendor.fps.init.succeed u:object_r:vendor_fingerprint_prop:s0
vendor.fps.init_retry.count u:object_r:vendor_fingerprint_prop:s0
+
+ro.vendor.build.type u:object_r:vendor_build_type_prop:s0
+persist.modem. u:object_r:vendor_modem_prop:s0
diff --git a/vendor/google/vendor_init.te b/vendor/google/vendor_init.te
index 953174f..78d5d27 100644
--- a/vendor/google/vendor_init.te
+++ b/vendor/google/vendor_init.te
@@ -1,6 +1,7 @@
# To allow setting audio.camerasound.force based on
# ro.boot.hardware.radio.subtype at boot
get_prop(vendor_init, vendor_radio_sku_prop)
+set_prop(vendor_init, vendor_build_type_prop)
# To allow set pixel mm_event tracing
allow vendor_init debugfs_tracing_instances:dir create_dir_perms;