blob: d9fd23bd9eaa060a94b203dc83b101c32f34aefc [file] [log] [blame]
# ==============================================
# Policy File of /vendor/bin/mnld Executable File
# ==============================================
# Type Declaration
# ==============================================
type mnld, domain;
type mnld_exec, exec_type, file_type, vendor_file_type;
typeattribute mnld mlstrustedsubject;
# ==============================================
# Common SEPolicy Rule
# ==============================================
# STOPSHIP: Permissive is not allowed. CTS violation!
init_daemon_domain(mnld)
net_domain(mnld)
# Purpose : For communicate with AGPSD by socket
allow mnld agpsd_data_file:dir create_dir_perms;
allow mnld agpsd_data_file:sock_file create_file_perms;
allow mnld mtk_agpsd:unix_dgram_socket sendto;
allow mnld sysfs_wake_lock:file rw_file_perms;
# Purpose : For access NVRAM data
allow mnld nvram_data_file:dir create_dir_perms;
allow mnld nvram_data_file:file create_file_perms;
allow mnld nvram_data_file:lnk_file r_file_perms;
allow mnld nvdata_file:lnk_file r_file_perms;
allow mnld nvram_device:blk_file rw_file_perms;
allow mnld nvram_device:chr_file rw_file_perms;
allow mnld nvdata_file:dir create_dir_perms;
allow mnld nvdata_file:file create_file_perms;
allow mnld gsi_metadata_file:dir search;
# Purpose : For access kernel device
allow mnld mnld_data_file:dir rw_dir_perms;
allow mnld mnld_data_file:sock_file create_file_perms;
allow mnld mnld_device:chr_file rw_file_perms;
allow mnld stpgps_device:chr_file rw_file_perms;
allow mnld gps2scp_device:chr_file rw_file_perms;
allow mnld gps_pwr_device:chr_file rw_file_perms;
allow mnld mnld_data_file:file create_file_perms;
allow mnld mnld_data_file:fifo_file create_file_perms;
allow mnld gps_emi_device:chr_file rw_file_perms;
# Purpose : For init process
allow mnld init:udp_socket rw_socket_perms_no_ioctl;
# Purpose : For RTKSDK
allow mnld proc_net:file r_file_perms;
allow mnld gps_data_file:sock_file create_file_perms;
# Send the message to the LBS HIDL Service to forward to applications
allow mnld lbs_hidl_service:unix_dgram_socket sendto;
# Send the message to the merged hal Service to forward to applications
allow mnld merged_hal_service:unix_dgram_socket sendto;
# Purpose : For access system data
allow mnld block_device:dir search;
set_prop(mnld, vendor_mtk_mnld_prop)
allow mnld mdlog_device:chr_file rw_file_perms;
allow mnld self:capability fsetid;
allow mnld stpbt_device:chr_file rw_file_perms;
allow mnld gpsdl_device:chr_file rw_file_perms;
allow mnld ttyGS_device:chr_file rw_file_perms;
# Purpose : For file system operations
allow mnld sdcard_type:dir create_dir_perms;
allow mnld sdcard_type:file create_file_perms;
allow mnld tmpfs:lnk_file create_file_perms;
allow mnld mtd_device:dir search;
allow mnld mnt_user_file:lnk_file r_file_perms;
allow mnld mnt_user_file:dir search;
allow mnld gps_data_file:dir { create_dir_perms unlink };
allow mnld gps_data_file:file create_file_perms;
allow mnld gps_data_file:lnk_file r_file_perms;
allow mnld storage_file:lnk_file r_file_perms;
# Date : WK15.30
# Operation : Migration
# Purpose : for device bring up, not to block early migration/sanity
allow mnld proc_lk_env:file rw_file_perms;
# For HIDL, communicate mtk_hal_gnss instead of system_server
allow mnld mtk_hal_gnss:unix_dgram_socket sendto;
# Purpose : MPE sensor HIDL policy
hwbinder_use(mnld)
binder_call(mnld, system_server)
allow mnld fwk_sensor_hwservice:hwservice_manager find;
get_prop(mnld, hwservicemanager_prop)
allow mnld mnt_vendor_file:dir search;
#get waks_alarm timer create prop
allow mnld mnld:capability2 wake_alarm;
# Date : WK18.26
# Purpose : for atci gps test
allow mnld atci_service:unix_dgram_socket sendto;
allow mnld sysfs_boot_mode:file r_file_perms;
set_prop(mnld, vendor_mtk_radio_prop)
allow mnld proc_cmdline:file r_file_perms;
allow mnld sysfs_dt_firmware_android:dir search;
allow mnld sysfs_dt_firmware_android:file r_file_perms;
allow mnld metadata_file:dir search;
#for mnld get screen on/off
allow mnld sysfs_leds:dir search;
allow mnld sysfs_leds:file r_file_perms;
#Add for /nvcfg/almanac.dat
allow mnld nvcfg_file:dir w_dir_perms;
allow mnld nvcfg_file:file create_file_perms;