summaryrefslogtreecommitdiffstats
path: root/r_non_plat/nvram_agent_binder.te
blob: 6655e6ede784b543ce203e4b560fd30d77227d07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# ==============================================
# Policy File of /vendor/bin/nvram_agent_binder Executable File

# ==============================================
# Type Declaration
# ==============================================
type nvram_agent_binder_exec , exec_type, file_type, vendor_file_type;
type nvram_agent_binder ,domain;

# ==============================================
# MTK Policy Rule
# ==============================================
init_daemon_domain(nvram_agent_binder)

# Date : WK14.35
# Operation : access nvram by binder 
# Purpose : ensure nvram user can access nvram file normally. 
#allow nvram_agent_binder nvram_agent_service:service_manager add;

# Date : WK14.43
# Operation : 2rd Selinux Migration 
# Purpose : the role of nvram_agent_binder is same with nvram_daemon except property_set & exect permission
allow nvram_agent_binder nvram_device:blk_file rw_file_perms;
allow nvram_agent_binder nvdata_device:blk_file rw_file_perms;
allow nvram_agent_binder nvram_data_file:dir create_dir_perms;
allow nvram_agent_binder nvram_data_file:file create_file_perms;
allow nvram_agent_binder nvram_data_file:lnk_file read;
allow nvram_agent_binder nvdata_file:lnk_file read;
allow nvram_agent_binder nvdata_file:dir create_dir_perms;
allow nvram_agent_binder nvdata_file:file create_file_perms;

allow nvram_agent_binder als_ps_device:chr_file r_file_perms;
allow nvram_agent_binder mtk-adc-cali_device:chr_file rw_file_perms;
allow nvram_agent_binder gsensor_device:chr_file r_file_perms;
allow nvram_agent_binder gyroscope_device:chr_file r_file_perms;
allow nvram_agent_binder self:capability { fowner chown fsetid };

# Purpose: for backup
allow nvram_agent_binder nvram_device:chr_file rw_file_perms;
allow nvram_agent_binder pro_info_device:chr_file rw_file_perms;
allow nvram_agent_binder block_device:dir search;

# for MLC device
allow nvram_agent_binder mtd_device:dir search;
allow nvram_agent_binder mtd_device:chr_file rw_file_perms;

#for nvram agent hidl
get_prop(nvram_agent_binder, hwservicemanager_prop)

# Allow to use HWBinder IPC
hwbinder_use(nvram_agent_binder);

# Allow a set of permissions required for a domain to be a server which provides a HAL implementation over HWBinder.
hal_server_domain(nvram_agent_binder, hal_nvramagent)

# Date : WK18.16
# Operation: P migration
# Purpose: Allow nvram_daemon to get tel_switch_prop
get_prop(nvram_daemon, tel_switch_prop)

# Date : WK18.21
# Operation: P migration
# Purpose: Allow to search /mnt/vendor/nvdata when using nvram function
allow nvram_agent_binder mnt_vendor_file:dir search;

allow nvram_agent_binder sysfs_boot_mode:file r_file_perms;