1# HwBinder IPC from client to server, and callbacks
2binder_call(hal_telephony_client, hal_telephony_server)
3binder_call(hal_telephony_server, hal_telephony_client)
4
5hal_attribute_hwservice(hal_telephony, hal_telephony_hwservice)
6
7allowxperm hal_telephony_server self:udp_socket ioctl priv_sock_ioctls;
8
9allow hal_telephony_server self:netlink_route_socket nlmsg_write;
10allow hal_telephony_server kernel:system module_request;
11allow hal_telephony_server self:global_capability_class_set { setpcap setgid setuid net_admin net_raw };
12allow hal_telephony_server cgroup:dir create_dir_perms;
13allow hal_telephony_server cgroup:{ file lnk_file } r_file_perms;
14allow hal_telephony_server radio_device:chr_file rw_file_perms;
15allow hal_telephony_server radio_device:blk_file r_file_perms;
16allow hal_telephony_server efs_file:dir create_dir_perms;
17allow hal_telephony_server efs_file:file create_file_perms;
18allow hal_telephony_server vendor_shell_exec:file rx_file_perms;
19allow hal_telephony_server bluetooth_efs_file:file r_file_perms;
20allow hal_telephony_server bluetooth_efs_file:dir r_dir_perms;
21
22# property service
23get_prop(hal_telephony_server, telephony_config_prop)
24set_prop(hal_telephony_server, radio_prop)
25set_prop(hal_telephony_server, exported3_radio_prop)
26set_prop(hal_telephony_server, telephony_status_prop)
27
28allow hal_telephony_server tty_device:chr_file rw_file_perms;
29
30# Allow hal_telephony_server to create and use netlink sockets.
31allow hal_telephony_server self:netlink_socket create_socket_perms_no_ioctl;
32allow hal_telephony_server self:netlink_generic_socket create_socket_perms_no_ioctl;
33allow hal_telephony_server self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
34
35# Access to wake locks
36wakelock_use(hal_telephony_server)
37
38r_dir_file(hal_telephony_server, proc_net_type)
39r_dir_file(hal_telephony_server, sysfs_type)
40
41# granting the ioctl permission for hal_telephony_server should be device specific
42allow hal_telephony_server self:socket create_socket_perms_no_ioctl;
43