blob: 9cc2021dff68be41e88c78cbce7f67d78cbf854c [file] [log] [blame]
Mulu He738a29d2014-10-27 16:19:16 +08001#integrated process
Biswajit Paul6786a922017-03-16 11:53:53 -07002type mmi, domain;
Ravi Kumar Siddojigaric7def122017-06-13 00:49:19 +05303type mmi_exec, exec_type, vendor_file_type, file_type;
Mulu He738a29d2014-10-27 16:19:16 +08004
5#started by init
6init_daemon_domain(mmi)
7
8#self capability
Biswajit Paul2d35d982017-02-01 17:40:10 -08009allow mmi self:socket create_socket_perms_no_ioctl;
10allow mmi self:{ netlink_socket netlink_generic_socket } create_socket_perms_no_ioctl;
11allow mmi self:udp_socket create_socket_perms_no_ioctl;
muluhecf9aad12015-05-28 15:52:11 +080012allow mmi self:capability { sys_nice dac_override setuid setgid fowner chown fsetid kill net_admin sys_module net_raw};
taozhang49b68dc2016-09-28 15:37:12 +080013allow mmi self:capability2 wake_alarm;
Mulu He738a29d2014-10-27 16:19:16 +080014
15#For various devices
muluhecf9aad12015-05-28 15:52:11 +080016allow mmi sysfs:file w_file_perms;
17allow mmi graphics_device:dir r_dir_perms;
Mulu He738a29d2014-10-27 16:19:16 +080018allow mmi graphics_device:chr_file rw_file_perms;
19allow mmi input_device:chr_file r_file_perms;
muluhecf9aad12015-05-28 15:52:11 +080020allow mmi input_device:dir r_dir_perms;
Mulu He738a29d2014-10-27 16:19:16 +080021allow mmi nfc_device:chr_file rw_file_perms;
Ravi Kumar Siddojigaric7def122017-06-13 00:49:19 +053022allow mmi vendor_shell_exec:file rx_file_perms;
Avijit Kanti Das441bad42015-05-12 14:07:41 -070023wakelock_use(mmi)
Mulu He738a29d2014-10-27 16:19:16 +080024
25#FTM_AP folder permissions
muluhecf9aad12015-05-28 15:52:11 +080026file_type_auto_trans(mmi, cache_file, mmi_data_file);
Mulu He738a29d2014-10-27 16:19:16 +080027allow mmi mmi_data_file:dir rw_dir_perms;
muluhecf9aad12015-05-28 15:52:11 +080028allow mmi mmi_data_file:file create_file_perms;
Mulu He738a29d2014-10-27 16:19:16 +080029
30#socket
muluhecf9aad12015-05-28 15:52:11 +080031allow mmi socket_device:dir w_dir_perms;
Mulu He738a29d2014-10-27 16:19:16 +080032
muluhecf9aad12015-05-28 15:52:11 +080033#allow mmi set system prop,sensor need write persist
sahil madekaa3608c92017-05-12 15:41:40 -070034set_prop(mmi, powerctl_prop)
muluhecf9aad12015-05-28 15:52:11 +080035allow mmi persist_file:dir r_dir_perms;
36allow mmi sensors_persist_file:dir create_dir_perms;
37allow mmi sensors_persist_file:file create_file_perms;
Mulu He738a29d2014-10-27 16:19:16 +080038
muluhecf9aad12015-05-28 15:52:11 +080039#wifi case
40allow mmi system_file:file x_file_perms;
Divya Sharma7caea0a2017-03-06 15:36:22 -080041#allow mmi wpa_exec:file rx_file_perms;
muluhecf9aad12015-05-28 15:52:11 +080042allow mmi wcnss_service_exec:file rx_file_perms;
43allow mmi kernel:key search;
44allow mmi kernel:system module_request;
Ravi Kumar Siddojigaric7def122017-06-13 00:49:19 +053045allow mmi vendor_toolbox_exec:file rx_file_perms;
taozhangd316c272016-08-15 11:00:23 +080046allow mmi system_file:system module_load;
muluhecf9aad12015-05-28 15:52:11 +080047
48#audio case
49allow mmi audio_device:dir r_dir_perms;
50allow mmi audio_device:chr_file rw_file_perms;
51
52#FM case
53allow mmi fm_radio_device:chr_file r_file_perms;
taozhangaf844b82015-11-04 14:50:25 +080054allow mmi fm_data_file:file r_file_perms;
sahil madekaa3608c92017-05-12 15:41:40 -070055set_prop(mmi, fm_prop)
56set_prop(mmi, ctl_default_prop)
muluhecf9aad12015-05-28 15:52:11 +080057#bluetooth case
58allow mmi bluetooth_data_file:dir rw_dir_perms;
59allow mmi bluetooth_data_file:file create_file_perms;
sahil madekaa3608c92017-05-12 15:41:40 -070060set_prop(mmi, bluetooth_prop)
muluhecf9aad12015-05-28 15:52:11 +080061allow mmi smd_device:chr_file rw_file_perms;
taozhang7b47a752016-11-01 18:17:28 +080062allow mmi persist_bluetooth_file:file r_file_perms;
63allow mmi wcnss_filter:unix_stream_socket connectto;
muluhecf9aad12015-05-28 15:52:11 +080064
65#GPS case
66allow mmi location_data_file:fifo_file create_file_perms;
taozhangaf844b82015-11-04 14:50:25 +080067allow mmi location_data_file:dir create_dir_perms;
68allow mmi location_data_file:file create_file_perms;
muluhecf9aad12015-05-28 15:52:11 +080069allow mmi mmi_socket:sock_file create_file_perms;
70type_transition mmi socket_device:sock_file mmi_socket;
71allow mmi location_exec:file rx_file_perms;
72allow mmi smem_log_device:chr_file rw_file_perms;
73allow mmi ssr_device:chr_file r_file_perms;
74
75#SD card case
76allow mmi sd_device:blk_file rw_file_perms;
77allow mmi block_device:blk_file getattr;
78allow mmi block_device:dir r_dir_perms;
79
80#camera
muluhecf9aad12015-05-28 15:52:11 +080081allow mmi video_device:chr_file rw_file_perms;
82allow mmi camera_data_file:sock_file write;
83allow mmi camera_data_file:dir r_dir_perms;
84allow mmi mm-qcamerad:unix_dgram_socket sendto;
85
86#nfc case
87allow mmi nfc_data_file:dir rw_dir_perms;
88allow mmi nfc_data_file:file create_file_perms;
89
90#simcard
91qmux_socket(mmi);
92
93#allow mmi access chgdiabled prop
sahil madekaa3608c92017-05-12 15:41:40 -070094set_prop(mmi, chgdiabled_prop)
muluhecf9aad12015-05-28 15:52:11 +080095#Allow mmi operate on surfaceflinger
96allow mmi surfaceflinger:fd use;
Ravi Kumar Siddojigaric7def122017-06-13 00:49:19 +053097#allow mmi surfaceflinger_service:service_manager find;
muluhecf9aad12015-05-28 15:52:11 +080098
taozhangc39c6532017-06-13 18:04:25 +080099#Allow mmi operate on graphics
100hal_client_domain(mmi, hal_graphics_allocator);
101
102#Allow mmi operate on hwservicemanager
103hwbinder_use(hwservicemanager);
104get_prop(mmi, hwservicemanager_prop);
105
106#Allow mmi operate ion_device
107allow mmi ion_device:chr_file r_file_perms;
108
taozhang68f98a82017-06-13 18:04:25 +0800109#Allow mmi operate on graphics
110hal_client_domain(mmi, hal_graphics_allocator);
111
112#Allow mmi operate on hwservicemanager
113hwbinder_use(hwservicemanager);
114get_prop(mmi, hwservicemanager_prop);
115
116#Allow mmi operate ion_device
117allow mmi ion_device:chr_file r_file_perms;
118
muluhecf9aad12015-05-28 15:52:11 +0800119#Allow mmi to use IPC
Ravi Kumar Siddojigaric7def122017-06-13 00:49:19 +0530120#binder_use(mmi)
muluhe08d63cc2015-09-10 13:39:17 +0800121binder_call(mmi,surfaceflinger)
taozhangaf844b82015-11-04 14:50:25 +0800122
123#sensor cases
124unix_socket_connect(mmi, sensors, sensors);
125allow mmi sensors_device:chr_file r_file_perms;
126
127#logcat
Siddeswar Aluganti759e1892017-01-12 18:25:28 -0800128#domain_auto_trans(mmi, logcat_exec, logd);
taozhangaf844b82015-11-04 14:50:25 +0800129
Mulu hee4b42d02016-08-04 13:15:31 +0800130#access kmsg device for logging
131allow mmi kmsg_device:chr_file rw_file_perms;
132
taozhangaf844b82015-11-04 14:50:25 +0800133#mmi test
134unix_socket_connect(mmi, cnd, cnd);
taozhangaf844b82015-11-04 14:50:25 +0800135unix_socket_connect(mmi, netmgrd, netmgrd);
136net_domain(mmi);
muluhe11f90842016-09-06 18:08:28 +0800137
Mulu He27226292017-08-08 15:30:41 +0800138#mmi to start:mmid/ftmdaemon/mm-audio-ftm application
139allow mmi mmi_exec:file execute_no_trans;
140allow mmi proc:file r_file_perms;
141allow mmi sysfs_battery_supply:dir search;
142allow mmi sysfs_battery_supply:file rw_file_perms;
143allow mmi sysfs_pon_dev:file rw_file_perms;
144
taozhang038ec872017-08-14 16:14:37 +0800145#read sysfs to operate LEDs
146allow mmi sysfs_leds:dir r_dir_perms;
147allow mmi sysfs_leds:lnk_file r_file_perms;
taozhangc74fe102017-09-29 15:54:32 +0800148allow mmi sysfs_leds:file rw_file_perms;
taozhang038ec872017-08-14 16:14:37 +0800149allow mmi sysfs_graphics:dir r_dir_perms;
150allow mmi sysfs_graphics:file rw_file_perms;
151
muluhe11f90842016-09-06 18:08:28 +0800152#allow mmi access boot mode switch
sahil madekaa3608c92017-05-12 15:41:40 -0700153set_prop(mmi, boot_mode_prop)
Biswajit Paul277acbb2016-07-20 12:02:14 -0700154#diag
155userdebug_or_eng(`
156 diag_use(mmi)
157')