Revert "Send logcat over serial port instead of vsocket"
This reverts commit 9b9da0c749fcd57edb7ebcf9539712f3e60b3f1a.
Reason for revert: test failures
Change-Id: Iadf08fc8c44a58443cd1abdc4fdc925d3624fdf3
diff --git a/host_package.mk b/host_package.mk
index b095115..87c19e1 100644
--- a/host_package.mk
+++ b/host_package.mk
@@ -45,6 +45,7 @@
x86_64-linux-gnu/libgbm.so.1 \
x86_64-linux-gnu/libminijail.so \
x86_64-linux-gnu/libvirglrenderer.so.0 \
+ logcat_receiver \
config_server \
tombstone_receiver \
console_forwarder \
diff --git a/shared/config/init.common.rc b/shared/config/init.common.rc
index 135f06e..162da7c 100644
--- a/shared/config/init.common.rc
+++ b/shared/config/init.common.rc
@@ -110,16 +110,19 @@
enable seriallogging
-on property:ro.boot.logcat_serial_port=*
- chown logd log ${ro.boot.logcat_serial_port}
- symlink ${ro.boot.logcat_serial_port} /dev/cf-logcat
- enable seriallogging
-
-
service seriallogging /system/bin/logcat -b all -v threadtime -f /dev/cf-logcat *:V
class main
- user logd
- group log
+ user root
+ disabled
+
+
+on property:ro.boot.vsock_logcat_port=*
+ enable vsock_logcat
+
+
+service vsock_logcat /vendor/bin/vsock_logcat
+ class main
+ user root
disabled
diff --git a/shared/device.mk b/shared/device.mk
index 6dee675..1f59971 100644
--- a/shared/device.mk
+++ b/shared/device.mk
@@ -74,6 +74,7 @@
ip_link_add \
setup_wifi \
tombstone_transmit \
+ vsock_logcat \
tombstone_producer \
#
diff --git a/shared/sepolicy/vendor/bug_map b/shared/sepolicy/vendor/bug_map
index 889f20b..e27ddc0 100644
--- a/shared/sepolicy/vendor/bug_map
+++ b/shared/sepolicy/vendor/bug_map
@@ -1,6 +1,7 @@
init system_lib_file dir 133444385
init system_lib_file file 133444385
kernel kernel system 130424539
+logpersist logpersist capability 132911257
platform_app radio_prop property_service 140284352
shell adbd vsock_socket 131904985
system_server system_server process 65201432
diff --git a/shared/sepolicy/vendor/file_contexts b/shared/sepolicy/vendor/file_contexts
index 0af84fd..e46880a 100644
--- a/shared/sepolicy/vendor/file_contexts
+++ b/shared/sepolicy/vendor/file_contexts
@@ -49,6 +49,7 @@
/vendor/bin/usbforward u:object_r:usbforward_exec:s0
/vendor/bin/socket_forward_proxy u:object_r:socket_forward_proxy_exec:s0
/vendor/bin/socket_vsock_proxy u:object_r:socket_vsock_proxy_exec:s0
+/vendor/bin/vsock_logcat u:object_r:vsock_logcat_exec:s0
/vendor/bin/vsoc_input_service u:object_r:vsoc_input_service_exec:s0
/vendor/bin/vsoc_guest_region_e2e_test u:object_r:vsoc_guest_region_e2e_test_exec:s0
/vendor/bin/vport_trigger u:object_r:vport_trigger_exec:s0
diff --git a/shared/sepolicy/vendor/logpersist.te b/shared/sepolicy/vendor/logpersist.te
index 1446da1..22e6da5 100644
--- a/shared/sepolicy/vendor/logpersist.te
+++ b/shared/sepolicy/vendor/logpersist.te
@@ -1,6 +1,6 @@
# Output to virtual serial console. Needed because seriallogging daemon
-# runs logcat and directs its output to vportXpY or ttyS2 under
+# runs logcat and directs its output to vportXpY or cf_logcat_pipe under
# the /dev filesystem.
allow logpersist device:dir r_dir_perms;
-allow logpersist serial_device:chr_file ra_file_perms;
+allow logpersist device:fifo_file ra_file_perms;
allow logpersist virtual_serial_device:chr_file ra_file_perms;
diff --git a/shared/sepolicy/vendor/property_contexts b/shared/sepolicy/vendor/property_contexts
index cf5dc5b..5127c67 100644
--- a/shared/sepolicy/vendor/property_contexts
+++ b/shared/sepolicy/vendor/property_contexts
@@ -8,11 +8,12 @@
ro.boot.hardware.hwcomposer u:object_r:cf_graphics_config_prop:s0 exact string
ro.boot.lcd_density u:object_r:cf_graphics_config_prop:s0 exact int
ro.boot.vsock_frames_port u:object_r:vsock_frames_port_prop:s0
-ro.boot.logcat_serial_port u:object_r:logcat_serial_port_prop:s0
+ro.boot.vsock_logcat_port u:object_r:vsock_logcat_port_prop:s0
ro.cdma.home.operator.alpha u:object_r:vendor_init_radio_prop:s0
ro.cdma.home.operator.numeric u:object_r:vendor_init_radio_prop:s0
sys.cf.ser. u:object_r:sys_cf_ser_prop:s0
vendor.ser. u:object_r:vendor_ser_prop:s0
+vendor.vsock_logcat_status u:object_r:vsock_logcat_status_prop:s0
hwc.drm.device u:object_r:cf_graphics_config_prop:s0 exact string
hwc.drm.exclude_non_hwfb_imports u:object_r:cf_graphics_config_prop:s0 exact int
hwc.drm.use_overlay_planes u:object_r:cf_graphics_config_prop:s0 exact int
diff --git a/shared/sepolicy/vendor/vendor_init.te b/shared/sepolicy/vendor/vendor_init.te
index 3d8fcb1..e57bec0 100644
--- a/shared/sepolicy/vendor/vendor_init.te
+++ b/shared/sepolicy/vendor/vendor_init.te
@@ -1,7 +1,6 @@
type vendor_init_radio_prop, property_type;
type cf_graphics_config_prop, property_type;
type cf_fstab_name_prop, property_type;
-type logcat_serial_port_prop, property_type;
allow vendor_init {
audio_device
@@ -19,5 +18,3 @@
get_prop(vendor_init, cf_graphics_config_prop)
get_prop(vendor_init, cf_fstab_name_prop)
-
-get_prop(vendor_init, logcat_serial_port_prop)
diff --git a/shared/sepolicy/vendor/vsock_logcat.te b/shared/sepolicy/vendor/vsock_logcat.te
new file mode 100644
index 0000000..405a362
--- /dev/null
+++ b/shared/sepolicy/vendor/vsock_logcat.te
@@ -0,0 +1,17 @@
+type vsock_logcat, domain;
+type vsock_logcat_exec, exec_type, vendor_file_type, file_type;
+type vsock_logcat_port_prop, property_type;
+type vsock_logcat_status_prop, property_type;
+
+init_daemon_domain(vsock_logcat)
+
+get_prop(vsock_logcat, vsock_logcat_port_prop)
+
+set_prop(vsock_logcat, vendor_ser_prop)
+set_prop(vsock_logcat, vsock_logcat_status_prop)
+
+allow vsock_logcat device:dir w_dir_perms;
+allow vsock_logcat device:fifo_file create_file_perms;
+allow vsock_logcat kmsg_device:chr_file write;
+allow vsock_logcat self:capability net_admin;
+allow vsock_logcat self:{ socket vsock_socket } create_socket_perms_no_ioctl;