1type netmgrd, domain; 2type netmgrd_exec, exec_type, vendor_file_type, file_type; 3 4net_domain(netmgrd) 5init_daemon_domain(netmgrd) 6 7set_prop(netmgrd, vendor_net_radio_prop) 8set_prop(netmgrd, net_rmnet_prop) 9 10# communicate with netd 11unix_socket_connect(netmgrd, netd, netd) 12 13allow netmgrd netmgrd_socket:dir w_dir_perms; 14allow netmgrd netmgrd_socket:sock_file create_file_perms; 15allow netmgrd self:netlink_xfrm_socket { create_socket_perms_no_ioctl nlmsg_write }; 16allow netmgrd self:netlink_generic_socket create_socket_perms_no_ioctl; 17allow netmgrd self:netlink_route_socket nlmsg_write; 18allow netmgrd self:netlink_socket create_socket_perms_no_ioctl; 19allow netmgrd self:socket create_socket_perms; 20allowxperm netmgrd self:socket ioctl msm_sock_ipc_ioctls; 21allowxperm netmgrd self:udp_socket ioctl priv_sock_ioctls; 22 23allow netmgrd sysfs_net:dir r_dir_perms; 24allow netmgrd sysfs_net:file rw_file_perms; 25allow netmgrd sysfs_soc:dir search; 26allow netmgrd sysfs_soc:file r_file_perms; 27allow netmgrd sysfs_msm_subsys:dir r_dir_perms; 28allow netmgrd sysfs_msm_subsys:file r_file_perms; 29 30allow netmgrd system_file:file lock; 31 32r_dir_file(netmgrd, sysfs_msm_subsys) 33 34wakelock_use(netmgrd) 35 36#Allow netutils usage 37domain_auto_trans(netmgrd, netutils_wrapper_exec, netutils_wrapper) 38allow netmgrd netutils_wrapper:process sigkill; 39 40#Allow diag logging 41allow netmgrd sysfs_timestamp_switch:file { read open }; 42userdebug_or_eng(` 43 r_dir_file(netmgrd, sysfs_diag) 44 allow netmgrd diag_device:chr_file rw_file_perms; 45') 46dontaudit netmgrd diag_device:chr_file rw_file_perms; 47 48#Ignore if device loading for private IOCTL failed 49dontaudit netmgrd kernel:system { module_request }; 50 51allow netmgrd proc_net:file rw_file_perms; 52allow netmgrd netmgr_data_file:dir rw_dir_perms; 53allow netmgrd netmgr_data_file:file create_file_perms; 54allow netmgrd system_file:file execute_no_trans; 55 56allow netmgrd self:capability { net_admin net_raw setgid setpcap setuid }; 57 58allow netmgrd vendor_toolbox_exec:file rx_file_perms; 59 60# Allow netmgrd to use netd HAL 61allow netmgrd system_net_netd_hwservice:hwservice_manager find; 62get_prop(netmgrd, hwservicemanager_prop) 63binder_call(netmgrd, netd) 64hwbinder_use(netmgrd) 65 66dontaudit netmgrd kernel:system module_request; 67dontaudit netmgrd self:system module_request; 68