|  | # servicemanager - the Binder context manager | 
|  | type servicemanager, domain; | 
|  | type servicemanager_exec, exec_type, file_type; | 
|  |  | 
|  | init_daemon_domain(servicemanager) | 
|  |  | 
|  | # Note that we do not use the binder_* macros here. | 
|  | # servicemanager is unique in that it only provides | 
|  | # name service (aka context manager) for Binder. | 
|  | # As such, it only ever receives and transfers other references | 
|  | # created by other domains.  It never passes its own references | 
|  | # or initiates a Binder IPC. | 
|  | allow servicemanager self:binder set_context_mgr; | 
|  | allow servicemanager domain:binder transfer; | 
|  |  | 
|  | # Get contexts of binder services that call servicemanager. | 
|  | allow servicemanager binderservicedomain:dir search; | 
|  | allow servicemanager binderservicedomain:file { read open }; | 
|  | allow servicemanager binderservicedomain:process getattr; | 
|  | # Check SELinux permissions. | 
|  | selinux_check_access(servicemanager) |