• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-2023 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14debug_only(`
15    allow system_file tmpfs:filesystem associate;
16    allow vendor_file tmpfs:filesystem associate;
17')
18
19allow init nwebspawn_socket:sock_file { unlink };
20allow init appspawn_socket:sock_file { unlink };
21allow init data_ethernet:dir { getattr };
22allow init data_log:file { getattr };
23allow init bootuptrace_file:dir { add_name getattr open read search write relabelto };
24allow init bootuptrace_file:file { create getattr write open relabelto };
25allow init data_parameters:file { getattr };
26allow init data_udev:dir { relabelfrom };
27allow init privacy_service:process { transition };
28allow init hisysevent_socket:sock_file { unlink setattr };
29allow init system_core_hap_attr:file { read open };
30allow init system_core_hap_attr:dir { search };
31allow init system_core_hap_attr:process { getattr };
32allow init system_lib_file:dir { open read };
33
34allow init accessibility_param:file { map open read relabelto relabelfrom };
35allow init const_postinstall_param:file { map open read relabelto relabelfrom };
36allow init hilog_param:file { map open read relabelto relabelfrom };
37
38allow accessibility_param tmpfs:filesystem associate;
39allow init data_service_file:file { ioctl rename relabelfrom };
40allow init data_service_file:dir { remove_name };
41allow init dev_console_file:chr_file { relabelto };
42
43# for create map file
44allow servicectrl_param tmpfs:filesystem associate;
45allow servicectrl_reboot_param tmpfs:filesystem associate;
46allow startup_init_param tmpfs:filesystem associate;
47allow startup_appspawn_param tmpfs:filesystem associate;
48allow startup_uevent_param tmpfs:filesystem associate;
49allow devinfo_private_param tmpfs:filesystem associate;
50allow devinfo_public_param tmpfs:filesystem associate;
51allow devinfo_type_param tmpfs:filesystem associate;
52allow useriam_fwkready_param tmpfs:filesystem associate;
53allow bluetooth_param tmpfs:filesystem associate;
54allow useriam_config_param tmpfs:filesystem associate;
55
56allow init servicectrl_param:file { map open read relabelto relabelfrom };
57allow init servicectrl_reboot_param:file { map open read relabelto relabelfrom };
58allow init startup_init_param:file { map open read relabelto relabelfrom };
59allow init startup_appspawn_param:file { map open read relabelto relabelfrom };
60allow init startup_uevent_param:file { map open read relabelto relabelfrom };
61allow init devinfo_private_param:file { map open read relabelto relabelfrom };
62allow init devinfo_public_param:file { map open read relabelto relabelfrom };
63allow init devinfo_type_param:file { map open read relabelto relabelfrom };
64allow init useriam_fwkready_param:file { map open read relabelto relabelfrom };
65allow init bluetooth_param:file { map open read relabelto relabelfrom };
66allow init useriam_config_param:file { map open read relabelto relabelfrom };
67
68#for set
69allow { init samgr hdf_devmgr } servicectrl_param:parameter_service { set };
70allow { init updater_sa power_host foundation } servicectrl_reboot_param:parameter_service { set };
71allow init startup_init_param:parameter_service { set };
72allow init devinfo_private_param:parameter_service { set };
73allow { init appspawn } startup_appspawn_param:parameter_service { set };
74allow { init ueventd } startup_uevent_param:parameter_service { set };
75allow init devinfo_public_param:parameter_service { set };
76allow init devinfo_type_param:parameter_service { set };
77allow { sadomain hdfdomain native_system_domain native_chipset_domain } bootevent_param:parameter_service { set };
78allow { useriam } useriam_fwkready_param:parameter_service { set };
79allow { init bluetooth_service } bluetooth_param:parameter_service { set };
80
81#for read
82allow domain servicectrl_param:file { map open read };
83allow domain servicectrl_reboot_param:file { map open read };
84allow domain startup_init_param:file { map open read };
85allow domain startup_appspawn_param:file { map open read };
86allow domain startup_uevent_param:file { map open read };
87allow domain devinfo_public_param:file { map open read };
88allow domain telephony_param:file { map open read };
89allow domain useriam_fwkready_param:file { map open read };
90allow domain bluetooth_param:file { map open read };
91allow {init samgr} useriam_config_param:file { map open read };
92
93#for udid
94allow { init deviceinfoservice samgr hdf_devmgr softbus_server } devinfo_private_param:file { map open read };
95allow { distributedsche accountmgr device_manager foundation d-bms } devinfo_private_param:file { map open read };
96
97allow domain accessibility_param:file { map open read };
98allow domain default_param:file { map open read };
99
100#for connect to param service
101allow deviceinfoservice paramservice_socket:sock_file { write };
102allow deviceinfoservice kernel:unix_stream_socket { connectto };
103allow deviceinfoservice init:file { getattr open read };
104
105allow init deviceinfoservice:file { getattr open read };
106allow init deviceinfoservice:process { getattr };
107allow init deviceinfoservice:dir { getattr search open read };
108#for hidumper_service
109allow hidumper_service sa_sysparam_device_service:samgr_class { get };
110
111#for param watcher to watch, must allow read
112allow { param_watcher pin_auth_host softbus_server } devinfo_private_param:file { map open read };
113allow { param_watcher } accessibility_param:file { map open read };
114
115#for fs size
116allowxperm init dev_block_file:blk_file ioctl { 0x1268 0x2285 };
117
118#for sysrq
119allow init proc_sysrq_trigger_file:file { getattr open write ioctl };
120
121#for init trace
122allow init tracefs_trace_marker_file:file { getattr write open read ioctl };
123allow init tracefs:file { getattr ioctl open read write };
124allow init tracefs:filesystem { mount };
125
126debug_only(`
127    allow init sh:file { map open read relabelto relabelfrom };
128    allow init sh:dir { search };
129    allow init sh:process { getattr };
130')
131
132allow init a2dp_host:process { rlimitinh siginh sigkill transition };
133allow init accessibility:process { rlimitinh siginh transition };
134allow init accesstoken_data_file:file { getattr open read write relabelto setattr lock };
135allow init accesstoken_service:process { rlimitinh siginh transition };
136allow init appspawn:process { signal };
137allow init appspawn_socket:sock_file { getattr relabelto };
138allow init bgtaskmgr_service:process { rlimitinh siginh transition };
139allow init blue_host:process { rlimitinh siginh transition };
140allow init bluetooth_service:process { rlimitinh siginh transition };
141allow init bootanimation:dir { search };
142allow init bootanimation:file { open read };
143allow init bootanimation:process { getattr rlimitinh siginh transition };
144allow init bootevent_param:file { map open read relabelto };
145allow init bootevent_samgr_param:file { map open read relabelto };
146allow init build_version_param:file { map open read relabelto };
147allow init camera_service:process { rlimitinh siginh transition };
148allow init mdnsmanager:process { rlimitinh siginh transition };
149allow init cgroup:dir { add_name create open read search setattr write remove_name rmdir };
150allow init cgroup:file { append getattr ioctl open read setattr };
151allow init cgroup:filesystem { mount };
152allow init cgroup:file { write };
153allowxperm init cgroup:file ioctl {  0x5413  };
154allow init config_file:dir { mounton };
155allow init configfs:dir { add_name create mounton open read search setattr write };
156allow init configfs:file { create getattr open };
157allow init configfs:filesystem { mount };
158allow init configfs:file { write };
159allow init configfs:lnk_file { create };
160allow init const_allow_mock_param:file { map open read relabelto };
161allow init const_allow_param:file { map open read relabelto };
162allow init const_build_param:file { map open read relabelto };
163allow init const_display_brightness_param:file { map open read relabelto };
164allow init const_param:file { map open read relabelto };
165allow init const_postinstall_fstab_param:file { map open read relabelto };
166allow init const_postinstall_param:file { map open read relabelto };
167allow init const_product_param:file { map open read relabelto };
168allow init data_appasec:dir { getattr open read relabelto setattr };
169allow init data_app_el1_file:dir { add_name create getattr open read relabelto search setattr write };
170allow init data_app_el2_file:dir { add_name create getattr open read relabelto search setattr write };
171allow init data_app_el3_file:dir { add_name create getattr open read relabelto search setattr write };
172allow init data_app_el4_file:dir { add_name create getattr open read relabelto search setattr write };
173allow init data_app_el5_file:dir { add_name create getattr open read relabelto search setattr write };
174allow init data_app_el1_file:dir { relabelfrom };
175allow init data_appephemeral:dir { getattr open read relabelto setattr };
176allow init data_app_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
177allow init data_applib:dir { getattr open read relabelto setattr };
178allow init data_appprivate:dir { getattr open read relabelto setattr };
179allow init data_appstaging:dir { getattr open read relabelto setattr };
180allow init data_backup:dir { getattr open read relabelto setattr };
181allow init data_bluetooth:dir { getattr open read relabelto search setattr add_name create write };
182allow init data_cache:dir { add_name create getattr open read relabelto search setattr write };
183allow init data_chipset_el1_file:dir { add_name create getattr open read relabelto search setattr write };
184allow init data_chipset_el2_file:dir { add_name create getattr open read relabelto search setattr write };
185allow init data_chipset_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
186allow init data_data_file:dir { add_name create getattr open read relabelto search setattr write };
187allow init data_data_pulse_dir:file { unlink };
188allow init data_drm:dir { getattr open read relabelto setattr };
189allow init data_ethernet:dir { open read relabelto setattr };
190allow init data_file:dir { add_name create getattr mounton open read relabelfrom relabelto remove_name search setattr write };
191allow init data_drm:dir { getattr open read relabelto setattr };
192allow init data_file:sock_file { getattr relabelfrom };
193allow init data_hilogd_file:dir { relabelto };
194allow init data_libinput:dir { getattr open read relabelto search setattr };
195allow init data_libinput:file { relabelto };
196allow init data_local:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
197allow init data_local_tmp:dir { getattr open read relabelto setattr };
198allow init data_local_traces:dir { getattr open read relabelto setattr };
199allow init data_app_el1_arkcache:dir { add_name create getattr open read relabelto search setattr write };
200allow init data_app_el1_arkprofile:dir { add_name create getattr open read relabelto search setattr write };
201allow init data_log:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
202allow init data_log:file { relabelto };
203allow init data_media:dir { add_name create getattr open read relabelto search setattr write };
204allow init data_misc_ce:dir { add_name create getattr open read relabelto search setattr write };
205allow init data_misc_ce:file { getattr setattr };
206allow init data_misc_de:dir { add_name create getattr open read relabelto search setattr write };
207allow init data_misc_de:file { getattr setattr };
208allow init data_misc:dir { add_name create getattr open read relabelto search setattr write };
209allow init data_nfc:dir { add_name create getattr open read relabelto search setattr write };
210allow init data_ota:dir { getattr open read relabelto setattr };
211allow init data_ota_package:dir { getattr open read relabelto setattr };
212allow init data_parameters:dir { add_name getattr open read relabelto remove_name search setattr write };
213allow init data_parameters:file { create ioctl open read read append relabelto rename unlink write write open };
214allow init data_preloads:dir { getattr open read relabelto setattr };
215allow init data_resourcecache:dir { getattr open read relabelto setattr };
216allow init data_service_el0_file:dir { add_name create getattr open read relabelto search setattr write };
217allow init data_service_el0_file:file { create getattr read write open relabelfrom };
218allow init data_service_el1_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
219allow init data_service_el1_file:file { getattr setattr relabelto };
220allow init data_service_el1_public_deviceauthService_file:dir { add_name create getattr open read relabelto search setattr write };
221allow init data_service_el1_public_huksService_file:dir { add_name create getattr open read relabelto search setattr write };
222allow init data_service_el2_public_huksService_file:dir { add_name create getattr open read relabelto search setattr write };
223allow init data_service_el2_userId_huksService_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
224allow init data_service_el4_userId_huksService_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
225allow init data_data_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
226allow init data_data_file:file { getattr setattr relabelto };
227allow init data_data_huksService_file:dir { add_name create getattr open read relabelto search setattr write };
228allow init data_data_huksService_file:file { create getattr ioctl open read setattr unlink write };
229allowxperm init data_data_huksService_file:file ioctl { 0x5705 };
230allow init data_service_el2_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
231allow init data_service_el2_hmdfs:dir { getattr open read relabelto setattr };
232allow init data_service_el3_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
233allow init data_service_el4_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
234allow init data_service_el5_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
235allow init data_service_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
236allow init data_service_file:file { create getattr unlink write write open };
237allow init data_ss:dir { getattr open read relabelto setattr };
238allow init data_storage:dir { getattr open read relabelto setattr };
239allow init data_system_ce:dir { getattr open read relabelto setattr };
240allow init data_system_de:dir { getattr open read relabelto setattr };
241allow init data_system:dir { add_name create getattr open read relabelto search setattr write };
242allow init data_udev:dir { getattr open read relabelto search setattr };
243allow init data_updater_file:dir { getattr open read relabelto search setattr };
244allow init data_updater_file:file { relabelto create getattr map open read rename setattr unlink write append };
245allow init data_user_de:dir { getattr open read relabelto setattr };
246allow init data_user:dir { add_name getattr open read relabelto search setattr write };
247allow init data_user:lnk_file { create };
248allow init data_vendor_ce:dir { getattr open read relabelto setattr };
249allow init data_vendor_de:dir { getattr open read relabelto setattr };
250allow init data_vendor:dir { add_name create getattr open read relabelto search setattr write };
251allow init d-bms:process { rlimitinh siginh sigkill transition };
252allow init dcamera_host:process { rlimitinh siginh sigkill transition };
253allow init dcamera:process { rlimitinh siginh transition };
254allow init debugfs:dir { mounton };
255allow init debugfs:filesystem { mount };
256allow init debugfs_usb:dir { search };
257allow init debug_param:file { map open read relabelto };
258allow init default_param:file { map open read relabelto };
259allow init dev_at_file:chr_file { ioctl setattr };
260allow init dev_binder_file:chr_file { relabelto };
261allow init dev_block_file:blk_file { getattr ioctl open read read write relabelto setattr write };
262allow init dev_block_file:dir { open read relabelto search };
263allow init dev_block_file:lnk_file { read relabelto };
264allow init dev_block_volfile:dir { open read relabelto search };
265allow init dev_char_file:dir { getattr open read relabelto setattr };
266allow init dev_console_file:chr_file { getattr ioctl open read write };
267allow init dev_file:dir { add_name create getattr mounton open read relabelfrom relabelto write };
268allow init dev_file:lnk_file { create };
269allow init dev_fscklogs_file:dir { open read relabelto search setattr };
270allow init dev_fuse_file:chr_file { setattr };
271allow init dev_graphics_file:chr_file { setattr };
272allow init dev_graphics_file:dir { search };
273allow init dev_hdf_disp:chr_file { setattr };
274allow init dev_hdf_file:chr_file { setattr };
275allow init dev_hdf_input:chr_file { setattr };
276allow init dev_hdf_kevent:chr_file { setattr };
277allow init deviceinfoservice:process { rlimitinh siginh transition };
278allow init device_usage_stats_service:process { rlimitinh siginh transition };
279allow init dev_kmsg_file:chr_file { getattr open read relabelto setattr write };
280allow init dev_mali:chr_file { setattr };
281allow init dev_mgr_file:chr_file { setattr };
282allow init dev_mpp:chr_file { setattr };
283allow init dev_null_file:chr_file { relabelto };
284allow init dev_parameters_file:dir { add_name open read relabelto write };
285allow init dev_parameters_file:file { create relabelfrom relabelto write };
286allow init devpts:chr_file { getattr relabelfrom read write open };
287allow init devpts:dir { relabelfrom };
288allow init dev_pts_file:chr_file { relabelto };
289allow init dev_pts_file:dir { open read relabelto search };
290allow init dev_random_file:chr_file { relabelto };
291allow init dev_rga:chr_file { setattr };
292allow init dev_sched_rtg_ctrl:chr_file { setattr };
293allow init dev_uhid_file:chr_file { setattr };
294allow init dev_tun_file:chr_file { setattr };
295allow init dev_unix_file:dir { getattr open read relabelto };
296allow init dev_unix_file:sock_file { getattr relabelto write };
297allow init dev_unix_socket:dir { add_name getattr open read relabelto remove_name search write };
298allow init dev_unix_socket:sock_file { create getattr relabelfrom setattr };
299allow init dev_usb_ffs:dir { add_name create getattr mounton open read relabelto search setattr write };
300allow init dev_v_file:dir { open getattr read relabelto setattr };
301allow init dev_v_file:chr_file { setattr };
302allow init dev_media_file:chr_file { setattr };
303allow init dev_video_file:chr_file { setattr };
304allow init dhardware:process { rlimitinh siginh transition };
305allow init distributeddata:process { rlimitinh siginh transition };
306allow init distributedfiledaemon:process { rlimitinh siginh transition };
307allow init distributedsche_param:file { map open read relabelto };
308allow init distributedsche:process { rlimitinh siginh transition };
309allow init download_server:process { rlimitinh siginh transition };
310allow init dscreen:process { rlimitinh siginh transition };
311allow init dslm_service:process { rlimitinh siginh transition };
312allow init edm_sa:process { rlimitinh siginh transition };
313allow init faultloggerd_exec:file { execute getattr read open };
314allow init faultloggerd:process { rlimitinh siginh transition };
315allow init faultloggerd_socket:sock_file { getattr relabelto unlink };
316allow init faultloggerd_temp_file:dir { getattr open read relabelfrom relabelto setattr };
317allow init faultloggerd_socket_sdkdump:sock_file { getattr relabelto unlink };
318allow init fd_holder_socket:sock_file { getattr relabelto write };
319allow init foundation:dir { search };
320allow init foundation:file { open read };
321allow init foundation:process { getattr rlimitinh siginh transition };
322allow init powermgr:dir { search };
323allow init powermgr:file { open read };
324allow init powermgr:process { getattr rlimitinh siginh transition };
325allow init functionfs:filesystem { mount };
326allow init hdcd_exec:file { execute getattr open read };
327allow init hdcd:process { rlimitinh siginh transition getattr };
328allow init hdcd:file { read open };
329allow init hdcd:dir { search };
330allow init hdcd_socket:sock_file { getattr relabelto unlink };
331allow init hdf_devmgr:dir { search };
332allow init hdf_devmgr:file { open read };
333allow init hdf_devmgr:process { getattr };
334allow init hidumper_file:dir { getattr open read relabelto setattr };
335allow init hidumper_service:process { rlimitinh siginh transition };
336allow init hilog_control_socket:sock_file { getattr relabelto };
337allow init hilog_input_socket:sock_file { getattr relabelto };
338allow init hilog_param:file { map open read relabelto };
339allow init hisysevent_socket:sock_file { getattr relabelto };
340allow init hiview_file:dir { getattr open read relabelto setattr search };
341allow init hw_sc_build_os_param:file { map open read relabelto };
342allow init hw_sc_build_param:file { map open read relabelto };
343allow init hw_sc_param:file { map open read relabelto };
344allow init init:capability { chown dac_override dac_read_search fowner fsetid kill net_admin setgid setuid sys_admin sys_boot sys_chroot sys_rawio sys_resource };
345allow init init:netlink_kobject_uevent_socket { bind create setopt };
346allow init init_param:file { map open read relabelto };
347allow init init:process { setexec setsockcreate };
348allow init init_svc_param:file { map open read relabelto };
349allow init init:udp_socket { create ioctl };
350allow init init:unix_dgram_socket { bind setopt getopt getattr read };
351allow init inputmethod_service:process { rlimitinh siginh transition };
352allow init input_pointer_device_param:file { map open read relabelto };
353allow init input_user_host:process { rlimitinh siginh transition };
354allow init ispserver:process { rlimitinh siginh transition };
355allow init kernel:process { setsched };
356allow init kernel:system { syslog_read };
357allow init kernel:unix_stream_socket { write };
358allow init labeledfs:filesystem { mount remount unmount };
359allow init location_host:process { rlimitinh siginh transition };
360allow init locationhub:process { rlimitinh siginh transition };
361allow init media_service:process { rlimitinh siginh transition };
362allow init memmgrservice:dir { search };
363allow init memmgrservice:file { open read };
364allow init memmgrservice:process { getattr rlimitinh siginh transition };
365allow init misc:process { rlimitinh siginh transition };
366allow init mmi_uinput_service:process { rlimitinh siginh transition };
367allow init msdp_sa:process { rlimitinh siginh transition };
368allow init multimodalinput:dir { search };
369allow init multimodalinput:file { open read };
370allow init multimodalinput:process { getattr rlimitinh siginh transition };
371allow init native_socket:sock_file { getattr relabelto };
372allow init netmanager:process { rlimitinh siginh transition };
373allow init net_param:file { map open read relabelto };
374allow init netsysnative:process { rlimitinh siginh transition };
375allow init net_tcp_param:file { map open read relabelto };
376allow init nwebspawn:process { rlimitinh siginh transition };
377allow init nwebspawn_socket:sock_file { getattr relabelto };
378allow init ohos_boot_param:file { map open read relabelto };
379allow init ohos_param:file { map open read relabelfrom relabelto };
380allow init paramservice_socket:sock_file { getattr relabelto };
381allow init param_watcher:process { rlimitinh siginh transition };
382allow init pasteboard_service:process { rlimitinh siginh transition };
383allow init persist_param:file { map open read relabelto };
384allow init persist_sys_param:file { map open read relabelto };
385allow init power_host:process { rlimitinh siginh transition };
386allow init proc_cmdline_file:file { getattr open read setattr };
387allow init proc_file:file { getattr open setattr write };
388allow init proc_interrupts_file:file { setattr };
389allow init proc_kmsg_file:file { setattr };
390allow init proc_net:file { setattr };
391allow init proc_slabinfo_file:file { setattr };
392allow init proc_swaps_file:file { read };
393allow init proc_vmallocinfo_file:file { setattr };
394allow init pstorefs:dir { setattr };
395allow init pstorefs:filesystem { mount };
396allow init rootfs:dir { mounton };
397allow init samain_exec:file { execute getattr open read open };
398allow init samgr:dir { search };
399allow init samgr:file { open read };
400allow init samgr:process { getattr };
401allow init screenlock_server:process { rlimitinh siginh transition };
402allow init security_param:file { map open read relabelto };
403allow init security:security { compute_av };
404allow init selinuxfs:dir { open read search };
405allow init selinuxfs:file { map open read write setattr };
406allow init sh_exec:file { execute getattr read open };
407allow init softbus_server:process { rlimitinh siginh transition };
408allow init startup_param:file { map open read relabelto };
409allow init storage_daemon_exec:file { execute getattr read open };
410allow init storage_daemon:process { rlimitinh siginh transition };
411allow init storage_manager:process { rlimitinh siginh transition };
412allow init sys_file:dir { add_name mounton write };
413allow init sys_file:file { create getattr open read setattr write };
414allow init sysfs_block_zram:file { getattr open setattr write };
415allow init sysfs_devices_system_cpu:file { setattr };
416allow init sysfs_power:file { setattr };
417allow init sysfs_state:file { setattr };
418allow init sysfs_wake_lck:file { setattr };
419allow init sys_param:file { map open read relabelto };
420allow init system_basic_hap_attr:dir { search };
421allow init system_basic_hap_attr:file { open read };
422allow init system_basic_hap_attr:process { getattr };
423allow init system_bin_file:dir { search };
424allow init system_bin_file:file { execute execute_no_trans getattr map open read read open };
425allow init system_bin_file:lnk_file { read };
426allow init toybox_exec:file { execute execute_no_trans getattr map open read };
427allow init toybox_exec:lnk_file { read };
428allow init sys_usb_param:file { map open read relabelto };
429allow init thermal_protector_exec:file { execute getattr read open };
430allow init time_service:process { rlimitinh siginh transition };
431allow init tmpfs:blk_file { getattr relabelfrom };
432allow init tmpfs:chr_file { getattr relabelfrom write open read };
433allow init tmpfs:dir { add_name create mounton open read relabelfrom setattr write };
434allow init tmpfs:file { getattr relabelfrom create open mounton };
435allow init tmpfs:lnk_file { create getattr relabelfrom };
436allow init tmpfs:sock_file { getattr relabelfrom };
437allow init token_sync_service:process { rlimitinh siginh transition };
438allow init tracefs:dir { mounton search setattr };
439allow init tracefs:file { getattr open setattr write };
440allow init tracefs_trace_marker_file:file { setattr };
441allow init tty_device:chr_file { relabelto setattr };
442allow init udevd_socket:sock_file { relabelto };
443allow init ui_service:process { rlimitinh siginh transition };
444allow init unlabeled:dir { getattr relabelfrom };
445allow init unlabeled:file { getattr open read relabelfrom };
446allow init updater_sa:dir { search };
447allow init updater_sa:file { open read };
448allow init updater_sa:process { getattr rlimitinh siginh transition };
449allow init usb_host:process { rlimitinh siginh transition };
450allow init usb_service:process { rlimitinh siginh transition };
451allow init vendor_bin_file:dir { search };
452allow init vendor_bin_file:file { execute getattr read read open };
453allow init vendor_etc_file:dir { open read search getattr };
454allow init vendor_etc_file:file { getattr open read };
455allow init wallpaper_service:process { rlimitinh siginh transition };
456allow init watchdog_service_exec:file { execute getattr read open };
457allow init watchdog_service:process { rlimitinh siginh transition };
458allow init wifi_hal_service_exec:file { execute getattr read read open };
459allow init wifi_hal_service:process { rlimitinh siginh transition };
460allow init wifi_manager_service:process { rlimitinh siginh transition };
461allow init kernel:unix_dgram_socket { sendto };
462allowxperm init data_file:file ioctl { 0x5413 };
463allowxperm init data_parameters:file ioctl { 0x5413 };
464allowxperm init dev_at_file:chr_file ioctl { 0x4102 };
465allowxperm init dev_block_file:blk_file ioctl { 0x125e 0x1272 0x127c 0x5413 };
466allowxperm init dev_console_file:chr_file ioctl { 0x540e };
467allowxperm init init:udp_socket ioctl { 0x8913 0x8914 };
468allowxperm init devpts:chr_file ioctl { 0x5413 };
469
470# for hyperhold
471allow init zram_device:blk_file { read open write ioctl getattr };
472allow init hyperhold_sys:dir { search relabelto write add_name getattr setattr remove_name };
473allow init hyperhold_sys:file { setattr getattr open read write create relabelto rename unlink };
474allowxperm init zram_device:blk_file ioctl { 0x126e };
475
476# avc:  denied  { getattr } for  pid=1 comm="init" path="/dev/block/mmcblk0p2" dev="tmpfs" ino=35 scontext=u:r:init:s0 tcontext=u:object_r:updater_block_file:s0 tclass=blk_file permissive=1
477# avc:  denied  { ioctl } for  pid=1 comm="init" path="/dev/block/mmcblk0p2" dev="tmpfs" ino=35 ioctlcmd=0x5413 scontext=u:r:init:s0 tcontext=u:object_r:updater_block_file:s0 tclass=blk_file permissive=1
478# avc:  denied  { open } for  pid=1 comm="init" path="/dev/block/mmcblk0p2" dev="tmpfs" ino=35 scontext=u:r:init:s0 tcontext=u:object_r:updater_block_file:s0 tclass=blk_file permissive=1
479# avc:  denied  { read } for  pid=1 comm="init" name="mmcblk0p2" dev="tmpfs" ino=35 scontext=u:r:init:s0 tcontext=u:object_r:updater_block_file:s0 tclass=blk_file permissive=1
480# avc:  denied  { write } for  pid=1 comm="init" name="mmcblk0p2" dev="tmpfs" ino=35 scontext=u:r:init:s0 tcontext=u:object_r:updater_block_file:s0 tclass=blk_file permissive=1
481allow init updater_block_file:blk_file { getattr ioctl open read write };
482
483# avc:  denied  { ioctl } for  pid=1 comm="init" path="/dev/block/mmcblk0p2" dev="tmpfs" ino=35 ioctlcmd=0x5413 scontext=u:r:init:s0 tcontext=u:object_r:updater_block_file:s0 tclass=blk_file permissive=1
484allowxperm init updater_block_file:blk_file ioctl { 0x5413 };
485
486# avc:  denied  { relabelto } for  pid=1 comm="init" name="misc" dev="tmpfs" ino=37 scontext=u:r:init:s0 tcontext=u:object_r:updater_block_file:s0 tclass=lnk_file permissive=0
487allow init updater_block_file:lnk_file { relabelto };
488
489# avc:  denied  { ioctl } for  pid=1 comm="init" path="/dev/block/mmcblk0p2" dev="tmpfs" ino=35 ioctlcmd=0x5413 scontext=u:r:init:s0 tcontext=u:object_r:tmpfs:s0 tclass=blk_file permissive=1
490allowxperm init tmpfs:blk_file ioctl { 0x5413 };
491
492# avc:  denied  { rlimitinh } for  pid=602 comm="sa_main" scontext=u:r:init:s0 tcontext=u:r:drm_service:s0 tclass=process permissive=1
493# avc:  denied  { siginh } for  pid=602 comm="sa_main" scontext=u:r:init:s0 tcontext=u:r:drm_service:s0 tclass=process permissive=1
494# avc:  denied  { transition } for  pid=602 comm="init" path="/system/bin/sa_main" dev="mmcblk0p7" ino=366 scontext=u:r:init:s0 tcontext=u:r:drm_service:s0 tclass=process permissive=1
495allow init drm_service:process { rlimitinh siginh transition };
496# avc:  denied  { ioctl } for  pid=1 comm="init" path="/dev/block/mmcblk0p2" dev="tmpfs" ino=35 ioctlcmd=0x5413 scontext=u:r:init:s0 tcontext=u:object_r:tmpfs:s0 tclass=blk_file permissive=1
497# avc:  denied  { open } for  pid=1 comm="init" path="/dev/block/mmcblk0p2" dev="tmpfs" ino=35 scontext=u:r:init:s0 tcontext=u:object_r:tmpfs:s0 tclass=blk_file permissive=1
498# avc:  denied  { read } for  pid=1 comm="init" name="mmcblk0p2" dev="tmpfs" ino=35 scontext=u:r:init:s0 tcontext=u:object_r:tmpfs:s0 tclass=blk_file permissive=1
499# avc:  denied  { write } for  pid=1 comm="init" name="mmcblk0p2" dev="tmpfs" ino=35 scontext=u:r:init:s0 tcontext=u:object_r:tmpfs:s0 tclass=blk_file permissive=1
500allow init tmpfs:blk_file { ioctl open read write };
501# for developer
502allow init proc_developer_file:file { open read getattr };
503allow init appspawn:file { read open write };
504allow init render_service:file { read open write };
505allow init foundation:file { read open write };
506allow init powermgr:file { read open write };
507allow init sysfs_hungtask_userlist:file { read open write };
508allow init data_service_el1_public_huksService_file:file { getattr };
509allow init share_public_file:dir { getattr };
510
511# for chip ckm
512# avc:  denied  { getattr } for  pid=1 comm="init" path="/chip_ckm" dev="mmcblk0p7" ino=13 scontext=u:r:init:s0 tcontext=u:object_r:chip_ckm_file:s0 tclass=dir permissive=0
513# avc:  denied  { mounton } for  pid=1 comm="init" path="/chip_ckm" dev="mmcblk0p7" ino=13 scontext=u:r:init:s0 tcontext=u:object_r:chip_ckm_file:s0 tclass=dir permissive=0
514# avc:  denied  { search } for  pid=1 comm="init" name="/" dev="mmcblk0p14" ino=2 scontext=u:r:init:s0 tcontext=u:object_r:chip_ckm_file:s0 tclass=dir permissive=0
515allow init chip_ckm_file:dir { getattr mounton search };
516
517# avc:  denied  { read } for  pid=1 comm="init" name="kosample.ko" dev="mmcblk0p14" ino=12 scontext=u:r:init:s0 tcontext=u:object_r:chip_ckm_file:s0 tclass=file permissive=0
518# avc:  denied  { open } for  pid=1 comm="init" path="/chip_ckm/kosample.ko" dev="mmcblk0p14" ino=12 scontext=u:r:init:s0 tcontext=u:object_r:chip_ckm_file:s0 tclass=file permissive=0
519allow init chip_ckm_file:file { read open };
520
521allow init sysfs_block_file:dir { read open };
522allow init sysfs_block_file:file { open write };
523
524init_relabel(data_service_el1_public_device_attest);
525init_relabel(share_public_file);
526init_relabel(msdp_data_file);
527init_relabel(av_session_data_file);
528init_relabel(cert_manager_service_file);
529init_relabel(dlp_permission_data_file);
530
531allow ark_writeable_param tmpfs:filesystem associate;
532allow init ark_writeable_param:file { map open read relabelto relabelfrom };
533allow init ark_writeable_param:parameter_service { set };
534# avc:  denied  { read append } for  pid=1 comm="init" path="/data/service/el1/startup/parameters/persist_parameters" dev="/dev/block/platform/fa500000.ufs/by-name/userdata" ino=42 scontext=u:r:init:s0 tcontext=u:object_r:data_service_file:s0 tclass=file permissive=0
535allow init data_service_file:file {read append};
536# avc:  denied  { read } for  pid=1 comm="init" path="/console" dev="" ino=70 scontext=u:r:init:s0 tcontext=u:object_r:dev_console_file:s0 tclass=lnk_file permissive=0
537allow init dev_console_file:lnk_file { read};
538
539# avc:  denied  { setpcap } for  pid=4977 comm="init" capability=8  scontext=u:r:init:s0 tcontext=u:r:init:s0 tclass=capability permissive=0
540allow init init:capability { setpcap };
541
542# avc:  denied  { append } for  pid=1 comm="init" name="private_persist_parameters" dev="mmcblk0p15" ino=2386 scontext=u:r:init:s0 tcontext=u:object_r:data_service_el1_file:s0 tclass=file permissive=0
543# avc:  denied  { rename } for  pid=1 comm="init" name="tmp_private_persist_parameters" dev="mmcblk0p15" ino=2703 scontext=u:r:init:s0 tcontext=u:object_r:data_service_el1_file:s0 tclass=file permissive=0
544allow init data_service_el1_file:file { open read append rename map };
545