Skip to content
Snippets Groups Projects
Commit 0f6c047d authored by Alex Klyubin's avatar Alex Klyubin
Browse files

tee domain is a vendor domain

As a result, Keymaster and DRM HALs are permitted to talk to tee domain
over sockets. Unfortunately, the tee domain needs to remain on the
exemptions list because drmserver, mediaserver, and surfaceflinger are
currently permitted to talk to this domain over sockets.

We need to figure out why global policy even defines a TEE domain...

Test: mmm system/sepolicy
Bug: 36601092
Bug: 36601602
Bug: 36714625
Bug: 36715266
Change-Id: I0b95e23361204bd046ae5ad22f9f953c810c1895
parent 4a478c47
No related branches found
No related tags found
No related merge requests found
typeattribute tee coredomain;
init_daemon_domain(tee) init_daemon_domain(tee)
# TODO(b/36601092, b/36601602): Remove this once Keymaster HAL and DRM HAL no longer communicate # TODO(b/36714625, b/36715266): Remove this once drmserver, mediaserver, and surfaceflinger no
# with tee daemon over sockets or once the tee daemon is moved to vendor partition # longer communicate with tee daemon over sockets
typeattribute tee socket_between_core_and_vendor_violators; typeattribute tee socket_between_core_and_vendor_violators;
...@@ -180,7 +180,7 @@ type wifi_data_file, file_type, data_file_type, core_data_file_type; ...@@ -180,7 +180,7 @@ type wifi_data_file, file_type, data_file_type, core_data_file_type;
type zoneinfo_data_file, file_type, data_file_type, core_data_file_type; type zoneinfo_data_file, file_type, data_file_type, core_data_file_type;
type vold_data_file, file_type, data_file_type, core_data_file_type; type vold_data_file, file_type, data_file_type, core_data_file_type;
type perfprofd_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject; type perfprofd_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
type tee_data_file, file_type, data_file_type, core_data_file_type; type tee_data_file, file_type, data_file_type;
type update_engine_data_file, file_type, data_file_type, core_data_file_type; type update_engine_data_file, file_type, data_file_type, core_data_file_type;
# /data/misc/trace for method traces on userdebug / eng builds # /data/misc/trace for method traces on userdebug / eng builds
type method_trace_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject; type method_trace_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
binder_call(hal_keymaster_client, hal_keymaster_server) binder_call(hal_keymaster_client, hal_keymaster_server)
allow hal_keymaster tee_device:chr_file rw_file_perms; allow hal_keymaster tee_device:chr_file rw_file_perms;
# TODO(b/36601092): Remove this once Keymaster HAL no longer talks to tee domain over Unix domain sockets
allow hal_keymaster tee:unix_stream_socket connectto; allow hal_keymaster tee:unix_stream_socket connectto;
allow hal_keymaster ion_device:chr_file r_file_perms; allow hal_keymaster ion_device:chr_file r_file_perms;
...@@ -13,5 +13,8 @@ allow tee self:netlink_socket create_socket_perms_no_ioctl; ...@@ -13,5 +13,8 @@ allow tee self:netlink_socket create_socket_perms_no_ioctl;
allow tee self:netlink_generic_socket create_socket_perms_no_ioctl; 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;
...@@ -7,8 +7,6 @@ init_daemon_domain(hal_drm_default) ...@@ -7,8 +7,6 @@ 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/36601602): Remove this once DRM HAL no longer uses Unix domain sockets to talk to tee daemon
typeattribute hal_drm_default socket_between_core_and_vendor_violators;
# TODO (b/36601695) remove hal_drm's access to /data or move to # TODO (b/36601695) remove hal_drm's access to /data or move to
# /data/vendor/hardware/hal_drm. Remove coredata_in_vendor_violators # /data/vendor/hardware/hal_drm. Remove coredata_in_vendor_violators
# attribute. # attribute.
......
...@@ -3,6 +3,3 @@ hal_server_domain(hal_keymaster_default, hal_keymaster) ...@@ -3,6 +3,3 @@ hal_server_domain(hal_keymaster_default, hal_keymaster)
type hal_keymaster_default_exec, exec_type, file_type; type hal_keymaster_default_exec, exec_type, file_type;
init_daemon_domain(hal_keymaster_default) init_daemon_domain(hal_keymaster_default)
# TODO(b/36601092): Remove this once Keymaster HAL no longer talks to tee domain over Unix domain sockets
typeattribute hal_keymaster_default socket_between_core_and_vendor_violators;
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