hal_wifi.te 1.4 KB

12345678910111213141516171819202122232425262728293031
  1. # HwBinder IPC from client to server, and callbacks
  2. binder_call(hal_wifi_client, hal_wifi_server)
  3. binder_call(hal_wifi_server, hal_wifi_client)
  4. hal_attribute_hwservice(hal_wifi, hal_wifi_hwservice)
  5. r_dir_file(hal_wifi, proc_net_type)
  6. r_dir_file(hal_wifi, sysfs_type)
  7. set_prop(hal_wifi, exported_wifi_prop)
  8. set_prop(hal_wifi, wifi_prop)
  9. # allow hal wifi set interfaces up and down and get the factory MAC
  10. allow hal_wifi self:udp_socket create_socket_perms;
  11. allowxperm hal_wifi self:udp_socket ioctl { SIOCSIFFLAGS SIOCSIFHWADDR SIOCETHTOOL };
  12. allow hal_wifi self:global_capability_class_set { net_admin net_raw };
  13. # allow hal_wifi to speak to nl80211 in the kernel
  14. allow hal_wifi self:netlink_socket create_socket_perms_no_ioctl;
  15. # newer kernels (e.g. 4.4 but not 4.1) have a new class for sockets
  16. allow hal_wifi self:netlink_generic_socket create_socket_perms_no_ioctl;
  17. # hal_wifi writes firmware paths to this file.
  18. allow hal_wifi sysfs_wlan_fwpath:file { w_file_perms };
  19. # allow hal_wifi to access /proc/modules to check if Wi-Fi driver is loaded
  20. allow hal_wifi proc_modules:file { getattr open read };
  21. # Allow hal_wifi to send dump info to dumpstate
  22. allow hal_wifi dumpstate:fifo_file write;
  23. # allow hal_wifi to write into /data/vendor/tombstones/wifi
  24. allow hal_wifi_server tombstone_wifi_data_file:dir rw_dir_perms;
  25. allow hal_wifi_server tombstone_wifi_data_file:file create_file_perms;