summaryrefslogtreecommitdiffstats
path: root/r_non_plat/nvram_daemon.te
blob: 71db04c0dd450ddc507413bf01e37fecf426fd97 (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# ==============================================
# Policy File of /vendor/binnvram_daemon Executable File


# ==============================================
# Type Declaration
# ==============================================

type nvram_daemon_exec , exec_type, file_type, vendor_file_type;
type nvram_daemon ,domain;

# ==============================================
# MTK Policy Rule
# ==============================================

init_daemon_domain(nvram_daemon)



# Date : WK14.31
# Operation : Migration
# Purpose : the device is used to store Nvram backup data that can not be lost.
allow nvram_daemon nvram_device:blk_file rw_file_perms;
allow nvram_daemon nvdata_device:blk_file rw_file_perms;

# Date : WK14.35
# Operation : chown folder and file permission
# Purpose : ensure nvram user can access nvram file normally when upgrade from KK/KK.AOSP to L.
allow nvram_daemon nvram_data_file:dir create_dir_perms;
allow nvram_daemon nvram_data_file:file create_file_perms;
allow nvram_daemon nvram_data_file:lnk_file read;
allow nvram_daemon nvdata_file:lnk_file read;
allow nvram_daemon nvdata_file:dir create_dir_perms;
allow nvram_daemon nvdata_file:file create_file_perms;

allow nvram_daemon als_ps_device:chr_file r_file_perms;
allow nvram_daemon mtk-adc-cali_device:chr_file rw_file_perms;
allow nvram_daemon gsensor_device:chr_file r_file_perms;
allow nvram_daemon gyroscope_device:chr_file r_file_perms;
allow nvram_daemon init:unix_stream_socket connectto;

# Purpose: for property set
allow nvram_daemon self:capability { fowner chown fsetid };

# Purpose: for backup
allow nvram_daemon nvram_device:chr_file rw_file_perms;
allow nvram_daemon pro_info_device:chr_file rw_file_perms;

allow nvram_daemon block_device:dir search;

# Purpose: for nand project
allow nvram_daemon mtd_device:dir search;
allow nvram_daemon mtd_device:chr_file rw_file_perms;

# Purpose: for fstab parser
allow nvram_daemon kmsg_device:chr_file w_file_perms;
allow nvram_daemon proc_lk_env:file rw_file_perms;

# Purpose: property set
allow nvram_daemon service_nvram_init_prop:property_service set;

# Purpose: copy /fstab*
allow nvram_daemon rootfs:dir { read open };
allow nvram_daemon rootfs:file r_file_perms;

# Purpose: remove /data/nvram link
allow nvram_daemon nvram_data_file:lnk_file unlink;

# Purpose: for setting property
# ro.wlan.mtk.wifi.5g relabel to wifi_5g_prop
# denied  { set } for property=ro.wlan.mtk.wifi.5g pid=242 uid=0 gid=1000 scontext=u:r:nvram_daemon:s0 tcontext=u:object_r:default_prop:s0 tclass=property_service permissive=1
set_prop(nvram_daemon, service_nvram_init_prop)
set_prop(nvram_daemon, wifi_5g_prop)

#WK17.26 camera 8163
allow nvram_daemon sysfs:dir read;

# 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 nvram_daemon to search /mnt/vendor/nvdata for fstab
allow nvram_daemon mnt_vendor_file:dir search;
allow nvram_daemon self:capability { fowner chown fsetid };

allow nvram_daemon sysfs_boot_mode:file r_file_perms;