type hal_fingerprint_wayne, domain, binder_in_vendor_violators; hal_server_domain(hal_fingerprint_wayne, hal_fingerprint) type hal_fingerprint_wayne_exec, exec_type, vendor_file_type, file_type; binder_use(hal_fingerprint_wayne) init_daemon_domain(hal_fingerprint_wayne) allow hal_fingerprint_wayne fingerprint_device:chr_file { read write open ioctl }; allow hal_fingerprint_wayne { tee_device uhid_device }:chr_file { read write open ioctl }; allow hal_fingerprint_wayne fingerprint_data_file:file rw_file_perms; allow hal_fingerprint_wayne { fuse mnt_user_file storage_file }:dir search; allow hal_fingerprint_wayne { mnt_user_file storage_file }:lnk_file read; allow hal_fingerprint_wayne fingerprint_sysfs:dir rw_dir_perms; allow hal_fingerprint_wayne fingerprint_sysfs:file rw_file_perms; allow hal_fingerprint_wayne hal_fingerprint_wayne:netlink_socket { create bind write read }; binder_call(hal_fingerprint_wayne, vndservicemanager) binder_call(hal_fingerprint_wayne, hal_perf_default) binder_use(hal_fingerprint_wayne) r_dir_file(hal_fingerprint_wayne, firmware_file) add_service(hal_fingerprint_wayne, goodixvnd_service) add_hwservice(hal_fingerprint_wayne, goodixhw_service) allow hal_fingerprint_wayne vndbinder_device:chr_file ioctl; get_prop(hal_fingerprint_wayne, hal_fingerprint_prop) set_prop(hal_fingerprint_wayne, hal_fingerprint_prop) vndbinder_use(hal_fingerprint_wayne) dontaudit hal_fingerprint_wayne { media_rw_data_file sdcardfs}:dir search; dontaudit hal_fingerprint_wayne media_rw_data_file:dir { read open };