blob: 4b50f01d9a106e6671bf7f8d24bd1de1750c271a [file] [log] [blame]
# Network utilities (radio process)
type netmgrd, domain, device_domain_deprecated;
type netmgrd_exec, exec_type, file_type;
# Started by init
init_daemon_domain(netmgrd)
# Triggers a sys_module denial, but kernel has CONFIG_MODULES=n.
dontaudit netmgrd self:capability sys_module;
# Starts as (root,radio) changes to (radio,radio)
allow netmgrd self:capability { setuid setgid net_admin net_raw };
allow netmgrd self:udp_socket { create ioctl };
allowxperm netmgrd self:udp_socket ioctl priv_sock_ioctls;
# rawip_socket for iptables
allow netmgrd self:rawip_socket create_socket_perms;
allow netmgrd self:netlink_socket create_socket_perms_no_ioctl;
allow netmgrd self:netlink_route_socket { create_socket_perms_no_ioctl nlmsg_write nlmsg_read };
# Talk to qmuxd (qmux_radio)
qmux_socket(netmgrd)
# Runs commands via sh.
allow netmgrd shell_exec:file rx_file_perms;
# Runs /system/bin/ip addr flush dev <device> commands.
allow netmgrd system_file:file rx_file_perms;
# Run toolbox.
allow netmgrd toolbox_exec:file rx_file_perms;
# Set net.rmnet0.* values
set_prop(netmgrd, radio_prop)
auditallow netmgrd radio_prop:property_service set;
set_prop(netmgrd, net_radio_prop)
# Access to /proc/sys/net/*
allow netmgrd proc_net:file rw_file_perms;
allow netmgrd proc_net:dir r_dir_perms;
# Let netmgrd access /dev/mdm node (modem driver)
allow netmgrd radio_device:chr_file r_file_perms;