typeattribute mediadrmserver coredomain; init_daemon_domain(mediadrmserver) # allocate and use graphic buffers hal_client_domain(mediadrmserver, hal_graphics_allocator) auditallow mediadrmserver hal_graphics_allocator_server:binder call; typeattribute mediadrmserver mlstrustedsubject; net_domain(mediadrmserver) binder_use(mediadrmserver) binder_call(mediadrmserver, binderservicedomain) binder_call(mediadrmserver, appdomain) binder_service(mediadrmserver) hal_client_domain(mediadrmserver, hal_drm) add_service(mediadrmserver, mediadrmserver_service) allow mediadrmserver mediaserver_service:service_manager find; allow mediadrmserver mediametrics_service:service_manager find; allow mediadrmserver processinfo_service:service_manager find; allow mediadrmserver surfaceflinger_service:service_manager find; allow mediadrmserver system_file:dir r_dir_perms; # TODO(b/80317992): remove binder_call(mediadrmserver, hal_omx_server) ### ### neverallow rules ### # mediadrmserver should never execute any executable without a # domain transition neverallow mediadrmserver { file_type fs_type }:file execute_no_trans; # do not allow privileged socket ioctl commands neverallowxperm mediadrmserver domain:{ rawip_socket tcp_socket udp_socket } ioctl priv_sock_ioctls;