From 016f0a58a9cd429f1986033f922d4bb7f58f5f3a Mon Sep 17 00:00:00 2001 From: Jeffrey Vander Stoep <jeffv@google.com> Date: Sun, 11 Mar 2018 20:46:50 +0000 Subject: [PATCH] Revert "Move rild from public to vendor." This reverts commit eeda6c6106f784f3d76bb56b07e9f0776a87c41f. Reason for revert: broken presubmit tests Bug: 74486619 Change-Id: I103c3faa1604fddc27b3b4602b587f2d733827b1 --- private/compat/26.0/26.0.cil | 1 - private/compat/27.0/27.0.cil | 1 - public/domain.te | 1 + public/hal_neverallows.te | 6 ++--- public/hal_telephony.te | 39 ------------------------------- public/property.te | 4 ++-- public/radio.te | 4 ++-- public/rild.te | 45 ++++++++++++++++++++++++++++++++++++ vendor/rild.te | 5 ---- 9 files changed, 53 insertions(+), 53 deletions(-) create mode 100644 public/rild.te diff --git a/private/compat/26.0/26.0.cil b/private/compat/26.0/26.0.cil index 06befe0bf..4cffaab00 100644 --- a/private/compat/26.0/26.0.cil +++ b/private/compat/26.0/26.0.cil @@ -12,7 +12,6 @@ (type tracing_shell_writable_debug) (type vold_socket) (type webview_zygote_socket) -(type rild) (typeattributeset accessibility_service_26_0 (accessibility_service)) (typeattributeset account_service_26_0 (account_service)) diff --git a/private/compat/27.0/27.0.cil b/private/compat/27.0/27.0.cil index 52760f791..a9f485ef7 100644 --- a/private/compat/27.0/27.0.cil +++ b/private/compat/27.0/27.0.cil @@ -2,7 +2,6 @@ (type webview_zygote_socket) (type reboot_data_file) (type vold_socket) -(type rild) (expandtypeattribute (accessibility_service_27_0) true) (expandtypeattribute (account_service_27_0) true) diff --git a/public/domain.te b/public/domain.te index a8c8365cf..f2b9f0c70 100644 --- a/public/domain.te +++ b/public/domain.te @@ -961,6 +961,7 @@ full_treble_only(` domain -coredomain -appdomain + -rild -vendor_executes_system_violators -vendor_init } { diff --git a/public/hal_neverallows.te b/public/hal_neverallows.te index 017fcce7b..1ab28c5d7 100644 --- a/public/hal_neverallows.te +++ b/public/hal_neverallows.te @@ -6,7 +6,7 @@ neverallow { -hal_wifi_server -hal_wifi_hostapd_server -hal_wifi_supplicant_server - -hal_telephony_server + -rild } self:global_capability_class_set { net_admin net_raw }; # Unless a HAL's job is to communicate over the network, or control network @@ -17,7 +17,7 @@ neverallow { -hal_wifi_server -hal_wifi_hostapd_server -hal_wifi_supplicant_server - -hal_telephony_server + -rild } domain:{ tcp_socket udp_socket rawip_socket } *; ### @@ -44,7 +44,7 @@ neverallow { neverallow { halserverdomain -hal_dumpstate_server - -hal_telephony_server + -rild } { file_type fs_type }:file execute_no_trans; # Do not allow a process other than init to transition into a HAL domain. neverallow { domain -init } halserverdomain:process transition; diff --git a/public/hal_telephony.te b/public/hal_telephony.te index 86f41cbea..41cfd4bf3 100644 --- a/public/hal_telephony.te +++ b/public/hal_telephony.te @@ -5,42 +5,3 @@ binder_call(hal_telephony_server, hal_telephony_client) add_hwservice(hal_telephony_server, hal_telephony_hwservice) allow hal_telephony_client hal_telephony_hwservice:hwservice_manager find; -allowxperm hal_telephony_server self:udp_socket ioctl priv_sock_ioctls; - -allow hal_telephony_server self:netlink_route_socket nlmsg_write; -allow hal_telephony_server kernel:system module_request; -allow hal_telephony_server self:global_capability_class_set { setpcap setgid setuid net_admin net_raw }; -allow hal_telephony_server alarm_device:chr_file rw_file_perms; -allow hal_telephony_server cgroup:dir create_dir_perms; -allow hal_telephony_server cgroup:{ file lnk_file } r_file_perms; -allow hal_telephony_server radio_device:chr_file rw_file_perms; -allow hal_telephony_server radio_device:blk_file r_file_perms; -allow hal_telephony_server mtd_device:dir search; -allow hal_telephony_server efs_file:dir create_dir_perms; -allow hal_telephony_server efs_file:file create_file_perms; -allow hal_telephony_server vendor_shell_exec:file rx_file_perms; -allow hal_telephony_server bluetooth_efs_file:file r_file_perms; -allow hal_telephony_server bluetooth_efs_file:dir r_dir_perms; -allow hal_telephony_server sdcard_type:dir r_dir_perms; - -# property service -set_prop(hal_telephony_server, radio_prop) -set_prop(hal_telephony_server, exported_radio_prop) -set_prop(hal_telephony_server, exported2_radio_prop) - -allow hal_telephony_server tty_device:chr_file rw_file_perms; - -# Allow hal_telephony_server to create and use netlink sockets. -allow hal_telephony_server self:netlink_socket create_socket_perms_no_ioctl; -allow hal_telephony_server self:netlink_generic_socket create_socket_perms_no_ioctl; -allow hal_telephony_server self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl; - -# Access to wake locks -wakelock_use(hal_telephony_server) - -r_dir_file(hal_telephony_server, proc_net) -r_dir_file(hal_telephony_server, sysfs_type) -r_dir_file(hal_telephony_server, system_file) - -# granting the ioctl permission for hal_telephony_server should be device specific -allow hal_telephony_server self:socket create_socket_perms_no_ioctl; diff --git a/public/property.te b/public/property.te index cb839c955..e40033268 100644 --- a/public/property.te +++ b/public/property.te @@ -158,7 +158,7 @@ compatible_property_only(` domain -coredomain -appdomain - -hal_telephony_server + -rild -vendor_init } { exported_radio_prop @@ -203,7 +203,7 @@ compatible_property_only(` domain -coredomain -appdomain - -hal_telephony_server + -rild -vendor_init } { radio_prop diff --git a/public/radio.te b/public/radio.te index 4998a61cd..b66514c83 100644 --- a/public/radio.te +++ b/public/radio.te @@ -5,8 +5,8 @@ net_domain(radio) bluetooth_domain(radio) binder_service(radio) -# Talks to hal_telephony_server via the rild socket only for devices without full treble -not_full_treble(`unix_socket_connect(radio, rild, hal_telephony_server)') +# Talks to rild via the rild socket only for devices without full treble +not_full_treble(`unix_socket_connect(radio, rild, rild)') # Data file accesses. allow radio radio_data_file:dir create_dir_perms; diff --git a/public/rild.te b/public/rild.te new file mode 100644 index 000000000..8cafd23e4 --- /dev/null +++ b/public/rild.te @@ -0,0 +1,45 @@ +# rild - radio interface layer daemon +type rild, domain; +hal_server_domain(rild, hal_telephony) + +net_domain(rild) +allowxperm rild self:udp_socket ioctl priv_sock_ioctls; + +allow rild self:netlink_route_socket nlmsg_write; +allow rild kernel:system module_request; +allow rild self:global_capability_class_set { setpcap setgid setuid net_admin net_raw }; +allow rild alarm_device:chr_file rw_file_perms; +allow rild cgroup:dir create_dir_perms; +allow rild cgroup:{ file lnk_file } r_file_perms; +allow rild radio_device:chr_file rw_file_perms; +allow rild radio_device:blk_file r_file_perms; +allow rild mtd_device:dir search; +allow rild efs_file:dir create_dir_perms; +allow rild efs_file:file create_file_perms; +allow rild shell_exec:file rx_file_perms; +allow rild bluetooth_efs_file:file r_file_perms; +allow rild bluetooth_efs_file:dir r_dir_perms; +allow rild sdcard_type:dir r_dir_perms; + +# property service +set_prop(rild, radio_prop) +set_prop(rild, exported_radio_prop) +set_prop(rild, exported2_radio_prop) + +allow rild tty_device:chr_file rw_file_perms; + +# Allow rild to create and use netlink sockets. +allow rild self:netlink_socket create_socket_perms_no_ioctl; +allow rild self:netlink_generic_socket create_socket_perms_no_ioctl; +allow rild self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl; + +# Access to wake locks +wakelock_use(rild) + +r_dir_file(rild, proc_net) +r_dir_file(rild, sysfs_type) +r_dir_file(rild, system_file) + +# granting the ioctl permission for rild should be device specific +allow rild self:socket create_socket_perms_no_ioctl; + diff --git a/vendor/rild.te b/vendor/rild.te index fc84ef706..510a776c4 100644 --- a/vendor/rild.te +++ b/vendor/rild.te @@ -1,8 +1,3 @@ -# rild - radio interface layer daemon -type rild, domain; -hal_server_domain(rild, hal_telephony) -net_domain(rild) - # type_transition must be private policy the domain_trans rules could stay # public, but conceptually should go with this type rild_exec, exec_type, vendor_file_type, file_type; -- GitLab