Files
device_google_wahoo/sepolicy/vendor/netmgrd.te
Jayachandran C 06f2fdfb7e Fix netmgrd crash recovery denials
This change fixes the following denials

auditd  : type=1400 audit(0.0:30032): avc: denied { unlink } for
comm="netmgrd" name="netmgr_connect_socket" dev="tmpfs" ino=31621
scontext=u:r:netmgrd:s0 tcontext=u:object_r:netmgrd_socket:s0
tclass=sock_file permissive=0

auditd  : type=1400 audit(0.0:35887): avc: denied { search } for
comm="netmgrd" name="diagchar" dev="sysfs" ino=26926
scontext=u:r:netmgrd:s0 tcontext=u:object_r:sysfs_diag:s0 tclass=dir
permissive=0

Test: Force crashed netmgrd and validated data working

Bug: 63360347
Change-Id: I45a49628b486cb264e07037cfa8397e381f72a00
2017-07-05 18:52:15 -07:00

61 lines
2.0 KiB
Plaintext

type netmgrd, domain;
type netmgrd_exec, exec_type, vendor_file_type, file_type;
net_domain(netmgrd)
init_daemon_domain(netmgrd)
set_prop(netmgrd, net_radio_prop)
set_prop(netmgrd, net_rmnet_prop)
# communicate with netd
unix_socket_connect(netmgrd, netd, netd)
allow netmgrd netmgrd_socket:dir w_dir_perms;
allow netmgrd netmgrd_socket:sock_file create_file_perms;
allow netmgrd self:netlink_xfrm_socket { create_socket_perms_no_ioctl nlmsg_write };
allow netmgrd self:netlink_generic_socket create_socket_perms_no_ioctl;
allow netmgrd self:netlink_route_socket nlmsg_write;
allow netmgrd self:netlink_socket create_socket_perms_no_ioctl;
allow netmgrd self:socket create_socket_perms;
allowxperm netmgrd self:socket ioctl msm_sock_ipc_ioctls;
allowxperm netmgrd self:udp_socket ioctl priv_sock_ioctls;
allow netmgrd sysfs_net:dir r_dir_perms;
allow netmgrd sysfs_net:file rw_file_perms;
allow netmgrd sysfs_soc:dir search;
allow netmgrd sysfs_soc:file r_file_perms;
allow netmgrd sysfs_msm_subsys:dir r_dir_perms;
allow netmgrd sysfs_msm_subsys:file r_file_perms;
allow netmgrd system_file:file lock;
r_dir_file(netmgrd, sysfs_msm_subsys)
wakelock_use(netmgrd)
#Allow netutils usage
domain_auto_trans(netmgrd, netutils_wrapper_exec, netutils_wrapper)
#Allow diag logging
allow netmgrd sysfs_timestamp_switch:file { read open };
userdebug_or_eng(`
r_dir_file(netmgrd, sysfs_diag)
')
#Ignore if device loading for private IOCTL failed
dontaudit netmgrd kernel:system { module_request };
allow netmgrd proc_net:file rw_file_perms;
allow netmgrd net_data_file:dir r_dir_perms;
allow netmgrd net_data_file:file r_file_perms;
allow netmgrd netmgr_data_file:dir rw_dir_perms;
allow netmgrd netmgr_data_file:file create_file_perms;
allow netmgrd system_file:file execute_no_trans;
allow netmgrd self:capability { net_admin net_raw setgid setpcap setuid };
allow netmgrd vendor_toolbox_exec:file rx_file_perms;
dontaudit netmgrd kernel:system module_request;
dontaudit netmgrd self:system module_request;