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
|
#integrated sensor process
type ims, domain;
type ims_exec, exec_type, vendor_file_type, file_type;
# Started by init
init_daemon_domain(ims)
net_domain(ims)
# Talk to qmuxd
qmux_socket(ims)
allow ims self:capability net_bind_service;
# Use generic netlink socket
allow ims self:{
netlink_socket
socket
netlink_generic_socket
} create_socket_perms_no_ioctl;
# To run NDC command
allow ims {
vendor_shell_exec
system_file
# IMS route installation
wcnss_service_exec
# for WPA supplicant comment to remove compilation issue
#wpa_exec
}:file rx_file_perms;
# Talk to netd via netd_socket
unix_socket_connect(ims, netd, netd)
# Talk to qumuxd via ims_socket
unix_socket_connect(ims, ims, qmuxd)
set_prop(ims, qcom_ims_prop)
set_prop(ims, ctl_vendor_imsrcsservice_prop)
# permissions needed for IMS to connect and interact with WPA supplicant
# comment to remove compilation
#unix_socket_send(ims, wpa, wpa)
allow ims wpa_socket:dir w_dir_perms;
allow ims wpa_socket:sock_file { create unlink setattr };
allow ims wifi_data_file:dir r_dir_perms;
# permissions for communication with CNE in LBO use case
unix_socket_connect(ims, cnd, cnd)
#Allow access to netmgrd socket
netmgr_socket(ims);
# Inherit and use open files from radio.
allow ims radio:fd use;
#diag
userdebug_or_eng(`
diag_use(ims)
')
allow ims self:{ socket udp_socket } ioctl;
# ioctlcmd=c302
allowxperm ims self:socket ioctl msm_sock_ipc_ioctls;
# ioctlcmd=89fd
allowxperm ims self:udp_socket ioctl priv_sock_ioctls;
allow ims sysfs:file r_file_perms;
allow ims sysfs_data:file r_file_perms;
hwbinder_use(ims)
get_prop(ims, hwservicemanager_prop)
get_prop(ims, qcom_ims_prop)
allow ims hal_cne_hwservice:hwservice_manager find;
binder_call(ims, cnd)
|