type hal_usb_gadget_impl, domain; hal_server_domain(hal_usb_gadget_impl, hal_usb) hal_server_domain(hal_usb_gadget_impl, hal_usb_gadget) type hal_usb_gadget_impl_exec, vendor_file_type, exec_type, file_type; init_daemon_domain(hal_usb_gadget_impl) allow hal_usb_gadget_impl configfs:dir { create rmdir }; allow hal_usb_gadget_impl functionfs:dir { watch watch_reads }; set_prop(hal_usb_gadget_impl, vendor_usb_config_prop) # parser the number of dwc3 irq allow hal_usb_gadget_impl proc_interrupts:file r_file_perms; # change irq to other cores allow hal_usb_gadget_impl proc_irq:dir r_dir_perms; allow hal_usb_gadget_impl proc_irq:file w_file_perms; # allow gadget hal to search hsi2c dir and write to usb_limit_accessory_enable/current allow hal_usb_gadget_impl sysfs_batteryinfo:dir r_dir_perms; allow hal_usb_gadget_impl sysfs_batteryinfo:file rw_file_perms;