# For netutils to be able to write their stdout stderr to the pipes opened by netmgrd
allow netutils_wrapper netmgrd:fd use;
allow netutils_wrapper netmgrd:fifo_file { getattr ioctl read write append };
allowxperm netutils_wrapper netmgrd:fifo_file ioctl { TCGETS };

userdebug_or_eng(`
  allow netutils_wrapper diag_device:chr_file rw_file_perms;
')

dontaudit netutils_wrapper netmgrd:unix_stream_socket { read write };
dontaudit netutils_wrapper netmgrd:socket { read write };
dontaudit netutils_wrapper netmgrd:netlink_socket { getattr read write append };
dontaudit netutils_wrapper kernel:system module_request;
dontaudit netutils_wrapper self:capability sys_module;
