2746ae6822
On PRODUCT_FULL_TREBLE devices, non-vendor domains (coredomain) and vendor domain are not permitted to connect to each other's sockets. There are two main exceptions: (1) apps are permitted to talk to other apps over Unix domain sockets (this is public API in Android framework), and (2) domains with network access (netdomain) are permitted to connect to netd. This commit thus: * adds neverallow rules restricting socket connection establishment, * temporarily exempts the domains which are currently violating this rule from this restriction. These domains are grouped using the new "socket_between_core_and_vendor_violators" attribute. The attribute is needed because the types corresponding to violators are not exposed to the public policy where the neverallow rules are. Test: mmm system/sepolicy Bug: 36613996 Change-Id: I458f5a09a964b06ad2bddb52538ec3a15758b003
8 lines
364 B
Text
8 lines
364 B
Text
# HwBinder IPC from client to server
|
|
binder_call(hal_keymaster_client, hal_keymaster_server)
|
|
|
|
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 ion_device:chr_file r_file_perms;
|