Skip to content
Snippets Groups Projects
Commit e3777ad3 authored by Alex Klyubin's avatar Alex Klyubin Committed by Android (Google) Code Review
Browse files

Merge "Remove unnecessary attributes"

parents 66fa99e3 3cc6a959
No related branches found
No related tags found
No related merge requests found
...@@ -44,15 +44,6 @@ attribute core_data_file_type; ...@@ -44,15 +44,6 @@ attribute core_data_file_type;
# All types in /vendor # All types in /vendor
attribute vendor_file_type; attribute vendor_file_type;
# All vendor domains which violate the requirement of not accessing
# data outside /data/vendor.
# TODO(b/34980020): Remove this once there are no violations
attribute coredata_in_vendor_violators;
# All core domains which violate the requirement of not accessing vendor
# owned data.
# TODO(b/34980020): Remove this once there are no violations
attribute vendordata_in_core_violators;
# All types use for sysfs files. # All types use for sysfs files.
attribute sysfs_type; attribute sysfs_type;
......
...@@ -539,64 +539,6 @@ full_treble_only(` ...@@ -539,64 +539,6 @@ full_treble_only(`
} servicemanager:binder { call transfer }; } servicemanager:binder { call transfer };
') ')
##
# On full TREBLE devices core android components and vendor components may
# not directly access each other's data types. All communication must occur
# over HW binder. Open file descriptors may be passed and read/write/stat
# operations my be performed on those FDs. Disallow all other operations.
full_treble_only(`
# do not allow vendor component access to coredomains data types
neverallow {
domain
-coredomain
-appdomain
-coredata_in_vendor_violators
}
core_data_file_type
-zoneinfo_data_file # Stable API provided by libc
:{
file_class_set
} ~{ append getattr ioctl read write };
# do not allow vendor component access to coredomains data directories.
# /data has the system_data_file type. Allow all domains to have dir
# search permissions which allows path traversal.
neverallow {
domain
-coredomain
-appdomain
-coredata_in_vendor_violators
} {
core_data_file_type
-system_data_file
-zoneinfo_data_file # Stable API provided by libc
}:dir *;
neverallow {
domain
-coredomain
-appdomain
-coredata_in_vendor_violators
} system_data_file:dir ~search;
# do not allow coredomains to directly access vendor data. Exempt init
# because it is responsible for dir/file creation in init.rc scripts.
# Also exempt halclientdomain to exclude rules for passthrough mode.
neverallow {
coredomain
-halclientdomain
-init
-vendordata_in_core_violators
} {
data_file_type
-core_data_file_type
}:file_class_set ~{ append getattr ioctl read write };
# do not allow coredomain to access vendor data directories.
neverallow {
coredomain
-halclientdomain
-init
-vendordata_in_core_violators
} { data_file_type -core_data_file_type }:dir *;
')
# On full TREBLE devices, socket communications between core components and vendor components are # On full TREBLE devices, socket communications between core components and vendor components are
# not permitted. # not permitted.
full_treble_only(` full_treble_only(`
......
...@@ -19,9 +19,6 @@ allow rild efs_file:file create_file_perms; ...@@ -19,9 +19,6 @@ allow rild efs_file:file create_file_perms;
allow rild shell_exec:file rx_file_perms; allow rild shell_exec:file rx_file_perms;
allow rild bluetooth_efs_file:file r_file_perms; allow rild bluetooth_efs_file:file r_file_perms;
allow rild bluetooth_efs_file:dir r_dir_perms; allow rild bluetooth_efs_file:dir r_dir_perms;
# TODO (b/36601950) remove RILD's access to radio_data_file and
# system_data_file. Remove coredata_in_vendor_violators attribute.
typeattribute rild coredata_in_vendor_violators;
allow rild radio_data_file:dir rw_dir_perms; allow rild radio_data_file:dir rw_dir_perms;
allow rild radio_data_file:file create_file_perms; allow rild radio_data_file:file create_file_perms;
allow rild sdcard_type:dir r_dir_perms; allow rild sdcard_type:dir r_dir_perms;
......
...@@ -7,7 +7,3 @@ init_daemon_domain(hal_audio_default) ...@@ -7,7 +7,3 @@ init_daemon_domain(hal_audio_default)
hal_client_domain(hal_audio_default, hal_allocator) hal_client_domain(hal_audio_default, hal_allocator)
typeattribute hal_audio_default socket_between_core_and_vendor_violators; typeattribute hal_audio_default socket_between_core_and_vendor_violators;
# TODO (b/36601590) move hal_audio's data file to
# /data/vendor/hardware/hal_audio. Remove coredata_in_vendor_violators
# attribute.
typeattribute hal_audio_default coredata_in_vendor_violators;
...@@ -3,8 +3,3 @@ hal_server_domain(hal_camera_default, hal_camera) ...@@ -3,8 +3,3 @@ hal_server_domain(hal_camera_default, hal_camera)
type hal_camera_default_exec, exec_type, vendor_file_type, file_type; type hal_camera_default_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(hal_camera_default) init_daemon_domain(hal_camera_default)
# TODO (b/36601397) move hal_camera's data file to
# /data/vendor/hardware/hal_camera. Remove coredata_in_vendor_violators
# attribute.
typeattribute hal_camera_default coredata_in_vendor_violators;
...@@ -6,8 +6,3 @@ init_daemon_domain(hal_drm_default) ...@@ -6,8 +6,3 @@ init_daemon_domain(hal_drm_default)
allow hal_drm_default mediacodec:fd use; allow hal_drm_default mediacodec:fd use;
allow hal_drm_default { appdomain -isolated_app }:fd use; allow hal_drm_default { appdomain -isolated_app }:fd use;
# TODO (b/36601695) remove hal_drm's access to /data or move to
# /data/vendor/hardware/hal_drm. Remove coredata_in_vendor_violators
# attribute.
typeattribute hal_drm_default coredata_in_vendor_violators;
...@@ -3,7 +3,3 @@ hal_server_domain(hal_fingerprint_default, hal_fingerprint) ...@@ -3,7 +3,3 @@ hal_server_domain(hal_fingerprint_default, hal_fingerprint)
type hal_fingerprint_default_exec, exec_type, vendor_file_type, file_type; type hal_fingerprint_default_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(hal_fingerprint_default) init_daemon_domain(hal_fingerprint_default)
# TODO (b/36644492) move hal_fingerprint's data file to
# /data/vendor/. Remove coredata_in_vendor_violators attribute.
typeattribute hal_fingerprint_default coredata_in_vendor_violators;
...@@ -4,8 +4,4 @@ hal_server_domain(hal_nfc_default, hal_nfc) ...@@ -4,8 +4,4 @@ hal_server_domain(hal_nfc_default, hal_nfc)
type hal_nfc_default_exec, exec_type, vendor_file_type, file_type; type hal_nfc_default_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(hal_nfc_default) init_daemon_domain(hal_nfc_default)
# TODO (b/36645109) Remove hal_nfc's access to the nfc app's
# data type. Remove coredata_in_vendor_violators and
# socket_between_core_and_vendor_violators attribute associations below.
typeattribute hal_nfc_default coredata_in_vendor_violators;
typeattribute hal_nfc_default socket_between_core_and_vendor_violators; typeattribute hal_nfc_default socket_between_core_and_vendor_violators;
...@@ -11,8 +11,3 @@ type_transition hal_wifi_supplicant_default wifi_data_file:dir wpa_socket "socke ...@@ -11,8 +11,3 @@ type_transition hal_wifi_supplicant_default wifi_data_file:dir wpa_socket "socke
# Allow wpa_supplicant to talk to Wifi Keystore HwBinder service. # Allow wpa_supplicant to talk to Wifi Keystore HwBinder service.
hwbinder_use(hal_wifi_supplicant_default) hwbinder_use(hal_wifi_supplicant_default)
binder_call(hal_wifi_supplicant_default, wifi_keystore_service_server) binder_call(hal_wifi_supplicant_default, wifi_keystore_service_server)
# TODO (b/36645291) Move hal_wifi_supplicant's data access to /data/vendor
# Remove coredata_in_vendor_violators attribute.
# wpa supplicant or equivalent
typeattribute hal_wifi_supplicant_default coredata_in_vendor_violators;
...@@ -31,7 +31,3 @@ r_dir_file(hostapd, wifi_data_file) ...@@ -31,7 +31,3 @@ r_dir_file(hostapd, wifi_data_file)
allow hostapd hostapd_socket:dir create_dir_perms; allow hostapd hostapd_socket:dir create_dir_perms;
# hostapd needs to create, bind to, read, and write its control socket. # hostapd needs to create, bind to, read, and write its control socket.
allow hostapd hostapd_socket:sock_file create_file_perms; allow hostapd hostapd_socket:sock_file create_file_perms;
# TODO (b/36646171) Move hostapd's data access to /data/vendor
# Remove coredata_in_vendor_violators attribute.
typeattribute hostapd coredata_in_vendor_violators;
...@@ -15,7 +15,5 @@ allow tee self:netlink_generic_socket create_socket_perms_no_ioctl; ...@@ -15,7 +15,5 @@ allow tee self:netlink_generic_socket create_socket_perms_no_ioctl;
allow tee ion_device:chr_file r_file_perms; allow tee ion_device:chr_file r_file_perms;
r_dir_file(tee, sysfs_type) r_dir_file(tee, sysfs_type)
# TODO(b/36720355): Remove this once tee no longer access non-vendor files
typeattribute tee coredata_in_vendor_violators;
allow tee system_data_file:file { getattr read }; allow tee system_data_file:file { getattr read };
allow tee system_data_file:lnk_file r_file_perms; allow tee system_data_file:lnk_file r_file_perms;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment