summaryrefslogtreecommitdiffstats
path: root/plat_private/emdlogger.te
blob: af01e0df283a6fac6c65123719610297dc15de65 (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
# ==============================================
# MTK Policy Rule
# ==============================================

# New added for move to /system
type emdlogger_exec , exec_type, file_type;
typeattribute emdlogger coredomain;

init_daemon_domain(emdlogger)
binder_use(emdlogger)
binder_service(emdlogger)


# for modem logging sdcard access
allow emdlogger sdcard_type:dir { create_dir_perms };
allow emdlogger sdcard_type:file { create_file_perms };


# modem logger socket access
allow emdlogger property_socket:sock_file write;
allow emdlogger init:unix_stream_socket connectto;
allow emdlogger platform_app:unix_stream_socket connectto;
allow emdlogger shell_exec:file { rx_file_perms };
allow emdlogger system_file:file execute_no_trans;
allow emdlogger zygote_exec:file { rx_file_perms };

#modem logger SD logging in factory mode
allow emdlogger vfat:dir create_dir_perms;
allow emdlogger vfat:file create_file_perms;

#modem logger permission in storage in android M version
#allow emdlogger log_device:chr_file { write open };
allow emdlogger mnt_user_file:dir search;
allow emdlogger mnt_user_file:lnk_file read;
allow emdlogger storage_file:lnk_file read;

#permission for storage link access in vzw Project
allow emdlogger mnt_media_rw_file:dir search;


#permission for use SELinux API
#avc: denied { read } for pid=576 comm="emdlogger1" name="selinux_version" dev="rootfs"
allow emdlogger rootfs:file r_file_perms;

#permission for storage access storage
allow emdlogger storage_file:dir { create_dir_perms };
allow emdlogger tmpfs:lnk_file read;
allow emdlogger storage_file:file { create_file_perms };

#permission for read boot mode
#avc: denied { open }  path="/sys/devices/virtual/BOOT/BOOT/boot/boot_mode" dev="sysfs"
#allow emdlogger sysfs:file { read open };

# Allow read avc: denied { read } for name="mddb" dev="mmcblk0p25" ino=681 
# scontext=u:r:emdlogger:s0 tcontext=u:object_r:system_file:s0 tclass=dir permissive=0
allow emdlogger system_file:dir read;

# permission for android N policy
allow emdlogger toolbox_exec:file rx_file_perms;

# purpose: allow emdlogger to access storage in N version
allow emdlogger media_rw_data_file:file  { create_file_perms };
allow emdlogger media_rw_data_file:dir { create_dir_perms };

## purpose: avc: denied { read } for name="plat_file_contexts"
allow emdlogger file_contexts_file:file { read getattr open };

## Android P migration
## purpose:  denied { read } for name="cmdline" dev="proc"
#denied { search } for name="android" dev="sysfs"
#for name="compatible" dev="sysfs" ino=2985 scontext=u
#:r:emdlogger:s0 tcontext=u:object_r:sysfs_dt_firmware_android:s0
#avc: denied { open } for path="/system/etc/mddb"
#avc: denied { read } for name="u:object_r:vendor_default_prop:s0"
allow emdlogger proc_cmdline:file { read getattr open };
allow emdlogger sysfs_dt_firmware_android:dir search;
allow emdlogger sysfs_dt_firmware_android:file { read open getattr };
allow emdlogger system_file:dir open;
allow emdlogger vendor_default_prop:file { read getattr open };