summaryrefslogtreecommitdiff
path: root/sepolicy/kickstart.te
blob: e1942117c278b516d6f2f4e30cb69a5313c08b7c (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
# kickstart processes and scripts (system process)
type kickstart, domain;
type kickstart_exec, file_type, exec_type;

init_daemon_domain(kickstart)

# Run kickstart_checker.sh
allow kickstart shell_exec:file rx_file_perms;
allow kickstart kickstart_exec:file rx_file_perms;

# kickstart_checker.sh changes block devices
# /dev/block/platform/msm_sdcc.1/by-name/m9kefs*
allow kickstart self:capability { chown fowner };

# Let qcks access /dev/mdm node (modem driver)
allow kickstart radio_device:chr_file r_file_perms;

# Access USB host ks bridge drivers
allow kickstart kickstart_device:chr_file rw_file_perms;

# Read and write to /dev/block/mmcblk0p[567]
allow kickstart efs_block_device:blk_file { setattr rw_file_perms };
allow kickstart block_device:dir { getattr write search };

# Write contents of block device to kickstart data dir
allow kickstart kickstart_data_file:file create_file_perms;
allow kickstart kickstart_data_file:dir rw_dir_perms;

# Read radio firmware file(s)
allow kickstart radio_efs_file:dir search;
allow kickstart radio_efs_file:file r_file_perms;

# Run dd from toolbox on firmware files
allow kickstart shell_exec:file rx_file_perms;
allow kickstart system_file:file execute_no_trans;
allow kickstart toolbox_exec:file rx_file_perms;

# Wake lock access
wakelock_use(kickstart)

# Set property key gsm.radio.kickstart
set_prop(kickstart, radio_prop)

# Access /sys/module/rmnet_usb/parameters/rmnet_data_init
allow kickstart sysfs_rmnet:file w_file_perms;