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 useriam_enable_writable_param tmpfs:filesystem associate;
54allow bluetooth_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 useriam_enable_writable_param:file { map open read relabelto relabelfrom };
66allow init bluetooth_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 useriam_enable_writable_param:file { map open read };
91allow domain bluetooth_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 };
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 };
150allow init cgroup:file { getattr open setattr };
151allow init cgroup:filesystem { mount };
152allow init cgroup:file { write };
153allow init config_file:dir { mounton };
154allow init configfs:dir { add_name create mounton open read search setattr write };
155allow init configfs:file { create getattr open };
156allow init configfs:filesystem { mount };
157allow init configfs:file { write };
158allow init configfs:lnk_file { create };
159allow init const_allow_mock_param:file { map open read relabelto };
160allow init const_allow_param:file { map open read relabelto };
161allow init const_build_param:file { map open read relabelto };
162allow init const_display_brightness_param:file { map open read relabelto };
163allow init const_param:file { map open read relabelto };
164allow init const_postinstall_fstab_param:file { map open read relabelto };
165allow init const_postinstall_param:file { map open read relabelto };
166allow init const_product_param:file { map open read relabelto };
167allow init data_appasec:dir { getattr open read relabelto setattr };
168allow init data_app_el1_file:dir { add_name create getattr open read relabelto search setattr write };
169allow init data_app_el2_file:dir { add_name create getattr open read relabelto search setattr write };
170allow init data_app_el3_file:dir { add_name create getattr open read relabelto search setattr write };
171allow init data_app_el4_file:dir { add_name create getattr open read relabelto search setattr write };
172allow init data_app_el5_file:dir { add_name create getattr open read relabelto search setattr write };
173allow init data_appephemeral:dir { getattr open read relabelto setattr };
174allow init data_app_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
175allow init data_applib:dir { getattr open read relabelto setattr };
176allow init data_appprivate:dir { getattr open read relabelto setattr };
177allow init data_appstaging:dir { getattr open read relabelto setattr };
178allow init data_backup:dir { getattr open read relabelto setattr };
179allow init data_bluetooth:dir { getattr open read relabelto search setattr add_name create write };
180allow init data_cache:dir { add_name create getattr open read relabelto search setattr write };
181allow init data_chipset_el1_file:dir { add_name create getattr open read relabelto search setattr write };
182allow init data_chipset_el2_file:dir { add_name create getattr open read relabelto search setattr write };
183allow init data_chipset_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
184allow init data_data_file:dir { add_name create getattr open read relabelto search setattr write };
185allow init data_data_pulse_dir:file { unlink };
186allow init data_drm:dir { getattr open read relabelto setattr };
187allow init data_ethernet:dir { open read relabelto setattr };
188allow init data_file:dir { add_name create getattr mounton open read relabelfrom relabelto remove_name search setattr write };
189allow init data_drm:dir { getattr open read relabelto setattr };
190allow init data_file:sock_file { getattr relabelfrom };
191allow init data_hilogd_file:dir { relabelto };
192allow init data_libinput:dir { getattr open read relabelto search setattr };
193allow init data_libinput:file { relabelto };
194allow init data_local:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
195allow init data_local_tmp:dir { getattr open read relabelto setattr };
196allow init data_local_traces:dir { getattr open read relabelto setattr };
197allow init data_local_arkcache:dir { getattr open read relabelto setattr };
198allow init data_local_arkprofile:dir { getattr open read relabelto setattr };
199allow init data_log:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
200allow init data_log:file { relabelto };
201allow init data_media:dir { add_name create getattr open read relabelto search setattr write };
202allow init data_misc_ce:dir { add_name create getattr open read relabelto search setattr write };
203allow init data_misc_ce:file { getattr setattr };
204allow init data_misc_de:dir { add_name create getattr open read relabelto search setattr write };
205allow init data_misc_de:file { getattr setattr };
206allow init data_misc:dir { add_name create getattr open read relabelto search setattr write };
207allow init data_nfc:dir { add_name create getattr open read relabelto search setattr write };
208allow init data_ota:dir { getattr open read relabelto setattr };
209allow init data_ota_package:dir { getattr open read relabelto setattr };
210allow init data_parameters:dir { add_name getattr open read relabelto remove_name search setattr write };
211allow init data_parameters:file { create ioctl open read read append relabelto rename unlink write write open };
212allow init data_preloads:dir { getattr open read relabelto setattr };
213allow init data_resourcecache:dir { getattr open read relabelto setattr };
214allow init data_service_el0_file:dir { add_name create getattr open read relabelto search setattr write };
215allow init data_service_el0_file:file { create getattr read write open relabelfrom };
216allow init data_service_el1_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
217allow init data_service_el1_file:file { getattr setattr relabelto };
218allow init data_service_el1_public_deviceauthService_file:dir { add_name create getattr open read relabelto search setattr write };
219allow init data_service_el1_public_huksService_file:dir { add_name create getattr open read relabelto search setattr write };
220allow init data_service_el2_public_huksService_file:dir { add_name create getattr open read relabelto search setattr write };
221allow init data_service_el2_userId_huksService_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
222allow init data_service_el4_userId_huksService_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
223allow init data_data_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
224allow init data_data_file:file { getattr setattr relabelto };
225allow init data_data_huksService_file:dir { add_name create getattr open read relabelto search setattr write };
226allow init data_data_huksService_file:file { create getattr ioctl open read setattr unlink write };
227allowxperm init data_data_huksService_file:file ioctl { 0x5705 };
228allow init data_service_el2_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
229allow init data_service_el2_hmdfs:dir { getattr open read relabelto setattr };
230allow init data_service_el3_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
231allow init data_service_el4_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
232allow init data_service_el5_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
233allow init data_service_file:dir { add_name create getattr open read relabelfrom relabelto search setattr write };
234allow init data_service_file:file { create getattr unlink write write open };
235allow init data_ss:dir { getattr open read relabelto setattr };
236allow init data_storage:dir { getattr open read relabelto setattr };
237allow init data_system_ce:dir { getattr open read relabelto setattr };
238allow init data_system_de:dir { getattr open read relabelto setattr };
239allow init data_system:dir { add_name create getattr open read relabelto search setattr write };
240allow init data_udev:dir { getattr open read relabelto search setattr };
241allow init data_updater_file:dir { getattr open read relabelto search setattr };
242allow init data_updater_file:file { relabelto create getattr map open read rename setattr unlink write append };
243allow init data_user_de:dir { getattr open read relabelto setattr };
244allow init data_user:dir { add_name getattr open read relabelto search setattr write };
245allow init data_user:lnk_file { create };
246allow init data_vendor_ce:dir { getattr open read relabelto setattr };
247allow init data_vendor_de:dir { getattr open read relabelto setattr };
248allow init data_vendor:dir { add_name create getattr open read relabelto search setattr write };
249allow init d-bms:process { rlimitinh siginh sigkill transition };
250allow init dcamera_host:process { rlimitinh siginh sigkill transition };
251allow init dcamera:process { rlimitinh siginh transition };
252allow init debugfs:dir { mounton };
253allow init debugfs:filesystem { mount };
254allow init debugfs_usb:dir { search };
255allow init debug_param:file { map open read relabelto };
256allow init default_param:file { map open read relabelto };
257allow init dev_at_file:chr_file { ioctl setattr };
258allow init dev_binder_file:chr_file { relabelto };
259allow init dev_block_file:blk_file { getattr ioctl open read read write relabelto setattr write };
260allow init dev_block_file:dir { open read relabelto search };
261allow init dev_block_file:lnk_file { read relabelto };
262allow init dev_block_volfile:dir { open read relabelto search };
263allow init dev_char_file:dir { getattr open read relabelto setattr };
264allow init dev_console_file:chr_file { getattr ioctl open read write };
265allow init dev_file:dir { add_name create getattr mounton open read relabelfrom relabelto write };
266allow init dev_file:lnk_file { create };
267allow init dev_fscklogs_file:dir { open read relabelto search setattr };
268allow init dev_fuse_file:chr_file { setattr };
269allow init dev_graphics_file:chr_file { setattr };
270allow init dev_graphics_file:dir { search };
271allow init dev_hdf_disp:chr_file { setattr };
272allow init dev_hdf_file:chr_file { setattr };
273allow init dev_hdf_input:chr_file { setattr };
274allow init dev_hdf_kevent:chr_file { setattr };
275allow init deviceinfoservice:process { rlimitinh siginh transition };
276allow init device_usage_stats_service:process { rlimitinh siginh transition };
277allow init dev_kmsg_file:chr_file { getattr open read relabelto setattr write };
278allow init dev_mali:chr_file { setattr };
279allow init dev_mgr_file:chr_file { setattr };
280allow init dev_mpp:chr_file { setattr };
281allow init dev_null_file:chr_file { relabelto };
282allow init dev_parameters_file:dir { add_name open read relabelto write };
283allow init dev_parameters_file:file { create relabelfrom relabelto write };
284allow init devpts:chr_file { getattr relabelfrom read write open };
285allow init devpts:dir { relabelfrom };
286allow init dev_pts_file:chr_file { relabelto };
287allow init dev_pts_file:dir { open read relabelto search };
288allow init dev_random_file:chr_file { relabelto };
289allow init dev_rga:chr_file { setattr };
290allow init dev_sched_rtg_ctrl:chr_file { setattr };
291allow init dev_uhid_file:chr_file { setattr };
292allow init dev_tun_file:chr_file { setattr };
293allow init dev_unix_file:dir { getattr open read relabelto };
294allow init dev_unix_file:sock_file { getattr relabelto write };
295allow init dev_unix_socket:dir { add_name getattr open read relabelto remove_name search write };
296allow init dev_unix_socket:sock_file { create getattr relabelfrom setattr };
297allow init dev_usb_ffs:dir { add_name create getattr mounton open read relabelto search setattr write };
298allow init dev_v_file:dir { open getattr read relabelto setattr };
299allow init dev_v_file:chr_file { setattr };
300allow init dev_media_file:chr_file { setattr };
301allow init dev_video_file:chr_file { setattr };
302allow init dhardware:process { rlimitinh siginh transition };
303allow init distributeddata:process { rlimitinh siginh transition };
304allow init distributedfiledaemon:process { rlimitinh siginh transition };
305allow init distributedsche_param:file { map open read relabelto };
306allow init distributedsche:process { rlimitinh siginh transition };
307allow init download_server:process { rlimitinh siginh transition };
308allow init dscreen:process { rlimitinh siginh transition };
309allow init dslm_service:process { rlimitinh siginh transition };
310allow init edm_sa:process { rlimitinh siginh transition };
311allow init faultloggerd_exec:file { execute getattr read open };
312allow init faultloggerd:process { rlimitinh siginh transition };
313allow init faultloggerd_socket:sock_file { getattr relabelto unlink };
314allow init faultloggerd_temp_file:dir { getattr open read relabelfrom relabelto setattr };
315allow init faultloggerd_socket_sdkdump:sock_file { getattr relabelto unlink };
316allow init fd_holder_socket:sock_file { getattr relabelto write };
317allow init foundation:dir { search };
318allow init foundation:file { open read };
319allow init foundation:process { getattr rlimitinh siginh transition };
320allow init powermgr:dir { search };
321allow init powermgr:file { open read };
322allow init powermgr:process { getattr rlimitinh siginh transition };
323allow init functionfs:filesystem { mount };
324allow init hdcd_exec:file { execute getattr open read };
325allow init hdcd:process { rlimitinh siginh transition getattr };
326allow init hdcd:file { read open };
327allow init hdcd:dir { search };
328allow init hdcd_socket:sock_file { getattr relabelto unlink };
329allow init hdf_devmgr:dir { search };
330allow init hdf_devmgr:file { open read };
331allow init hdf_devmgr:process { getattr };
332allow init hidumper_file:dir { getattr open read relabelto setattr };
333allow init hidumper_service:process { rlimitinh siginh transition };
334allow init hilog_control_socket:sock_file { getattr relabelto };
335allow init hilog_input_socket:sock_file { getattr relabelto };
336allow init hilog_param:file { map open read relabelto };
337allow init hisysevent_socket:sock_file { getattr relabelto };
338allow init hiview_file:dir { getattr open read relabelto setattr search };
339allow init hw_sc_build_os_param:file { map open read relabelto };
340allow init hw_sc_build_param:file { map open read relabelto };
341allow init hw_sc_param:file { map open read relabelto };
342allow 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 };
343allow init init:netlink_kobject_uevent_socket { bind create setopt };
344allow init init_param:file { map open read relabelto };
345allow init init:process { setexec setsockcreate };
346allow init init_svc_param:file { map open read relabelto };
347allow init init:udp_socket { create ioctl };
348allow init init:unix_dgram_socket { bind setopt getopt getattr read };
349allow init inputmethod_service:process { rlimitinh siginh transition };
350allow init input_pointer_device_param:file { map open read relabelto };
351allow init input_user_host:process { rlimitinh siginh transition };
352allow init ispserver:process { rlimitinh siginh transition };
353allow init kernel:process { setsched };
354allow init kernel:system { syslog_read };
355allow init kernel:unix_stream_socket { write };
356allow init labeledfs:filesystem { mount remount unmount };
357allow init location_host:process { rlimitinh siginh transition };
358allow init locationhub:process { rlimitinh siginh transition };
359allow init media_service:process { rlimitinh siginh transition };
360allow init memmgrservice:dir { search };
361allow init memmgrservice:file { open read };
362allow init memmgrservice:process { getattr rlimitinh siginh transition };
363allow init misc:process { rlimitinh siginh transition };
364allow init mmi_uinput_service:process { rlimitinh siginh transition };
365allow init msdp_sa:process { rlimitinh siginh transition };
366allow init multimodalinput:dir { search };
367allow init multimodalinput:file { open read };
368allow init multimodalinput:process { getattr rlimitinh siginh transition };
369allow init native_socket:sock_file { getattr relabelto };
370allow init netmanager:process { rlimitinh siginh transition };
371allow init net_param:file { map open read relabelto };
372allow init netsysnative:process { rlimitinh siginh transition };
373allow init net_tcp_param:file { map open read relabelto };
374allow init nwebspawn:process { rlimitinh siginh transition };
375allow init nwebspawn_socket:sock_file { getattr relabelto };
376allow init ohos_boot_param:file { map open read relabelto };
377allow init ohos_param:file { map open read relabelfrom relabelto };
378allow init paramservice_socket:sock_file { getattr relabelto };
379allow init param_watcher:process { rlimitinh siginh transition };
380allow init pasteboard_service:process { rlimitinh siginh transition };
381allow init persist_param:file { map open read relabelto };
382allow init persist_sys_param:file { map open read relabelto };
383allow init power_host:process { rlimitinh siginh transition };
384allow init proc_cmdline_file:file { getattr open read setattr };
385allow init proc_file:file { getattr open setattr write };
386allow init proc_interrupts_file:file { setattr };
387allow init proc_kmsg_file:file { setattr };
388allow init proc_net:file { setattr };
389allow init proc_slabinfo_file:file { setattr };
390allow init proc_swaps_file:file { read };
391allow init proc_vmallocinfo_file:file { setattr };
392allow init pstorefs:dir { setattr };
393allow init pstorefs:filesystem { mount };
394allow init rootfs:dir { mounton };
395allow init samain_exec:file { execute getattr open read open };
396allow init samgr:dir { search };
397allow init samgr:file { open read };
398allow init samgr:process { getattr };
399allow init screenlock_server:process { rlimitinh siginh transition };
400allow init security_param:file { map open read relabelto };
401allow init security:security { compute_av };
402allow init selinuxfs:dir { open read search };
403allow init selinuxfs:file { map open read write setattr };
404allow init sh_exec:file { execute getattr read open };
405allow init softbus_server:process { rlimitinh siginh transition };
406allow init startup_param:file { map open read relabelto };
407allow init storage_daemon_exec:file { execute getattr read open };
408allow init storage_daemon:process { rlimitinh siginh transition };
409allow init storage_manager:process { rlimitinh siginh transition };
410allow init sys_file:dir { add_name mounton write };
411allow init sys_file:file { create getattr open read setattr write };
412allow init sysfs_block_zram:file { getattr open setattr write };
413allow init sysfs_devices_system_cpu:file { setattr };
414allow init sysfs_power:file { setattr };
415allow init sysfs_state:file { setattr };
416allow init sysfs_wake_lck:file { setattr };
417allow init sys_param:file { map open read relabelto };
418allow init system_basic_hap_attr:dir { search };
419allow init system_basic_hap_attr:file { open read };
420allow init system_basic_hap_attr:process { getattr };
421allow init system_bin_file:dir { search };
422allow init system_bin_file:file { execute execute_no_trans getattr map open read read open };
423allow init system_bin_file:lnk_file { read };
424allow init toybox_exec:file { execute execute_no_trans getattr map open read };
425allow init toybox_exec:lnk_file { read };
426allow init sys_usb_param:file { map open read relabelto };
427allow init thermal_protector_exec:file { execute getattr read open };
428allow init time_service:process { rlimitinh siginh transition };
429allow init tmpfs:blk_file { getattr relabelfrom };
430allow init tmpfs:chr_file { getattr relabelfrom write open read };
431allow init tmpfs:dir { add_name create mounton open read relabelfrom setattr write };
432allow init tmpfs:file { getattr relabelfrom create open mounton };
433allow init tmpfs:lnk_file { create getattr relabelfrom };
434allow init tmpfs:sock_file { getattr relabelfrom };
435allow init token_sync_service:process { rlimitinh siginh transition };
436allow init tracefs:dir { mounton search setattr };
437allow init tracefs:file { getattr open setattr write };
438allow init tracefs_trace_marker_file:file { setattr };
439allow init tty_device:chr_file { relabelto setattr };
440allow init udevd_socket:sock_file { relabelto };
441allow init ui_service:process { rlimitinh siginh transition };
442allow init unlabeled:dir { getattr relabelfrom };
443allow init unlabeled:file { getattr open read relabelfrom };
444allow init updater_sa:dir { search };
445allow init updater_sa:file { open read };
446allow init updater_sa:process { getattr rlimitinh siginh transition };
447allow init usb_host:process { rlimitinh siginh transition };
448allow init usb_service:process { rlimitinh siginh transition };
449allow init vendor_bin_file:dir { search };
450allow init vendor_bin_file:file { execute getattr read read open };
451allow init vendor_etc_file:dir { open read search getattr };
452allow init vendor_etc_file:file { getattr open read };
453allow init wallpaper_service:process { rlimitinh siginh transition };
454allow init watchdog_service_exec:file { execute getattr read open };
455allow init watchdog_service:process { rlimitinh siginh transition };
456allow init wifi_hal_service_exec:file { execute getattr read read open };
457allow init wifi_hal_service:process { rlimitinh siginh transition };
458allow init wifi_manager_service:process { rlimitinh siginh transition };
459allow init kernel:unix_dgram_socket { sendto };
460allowxperm init data_file:file ioctl { 0x5413 };
461allowxperm init data_parameters:file ioctl { 0x5413 };
462allowxperm init dev_at_file:chr_file ioctl { 0x4102 };
463allowxperm init dev_block_file:blk_file ioctl { 0x125e 0x1272 0x127c 0x5413 };
464allowxperm init dev_console_file:chr_file ioctl { 0x540e };
465allowxperm init init:udp_socket ioctl { 0x8913 0x8914 };
466allowxperm init devpts:chr_file ioctl { 0x5413 };
467
468# for hyperhold
469allow init zram_device:blk_file { read open write ioctl getattr };
470allow init hyperhold_sys:dir { search relabelto write add_name getattr setattr remove_name };
471allow init hyperhold_sys:file { setattr getattr open read write create relabelto rename unlink };
472allowxperm init zram_device:blk_file ioctl { 0x126e };
473
474# 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
475# 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
476# 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
477# 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
478# 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
479allow init updater_block_file:blk_file { getattr ioctl open read write };
480
481# 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
482allowxperm init updater_block_file:blk_file ioctl { 0x5413 };
483
484# 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
485allow init updater_block_file:lnk_file { relabelto };
486
487# 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
488allowxperm init tmpfs:blk_file ioctl { 0x5413 };
489
490# avc:  denied  { rlimitinh } for  pid=602 comm="sa_main" scontext=u:r:init:s0 tcontext=u:r:drm_service:s0 tclass=process permissive=1
491# avc:  denied  { siginh } for  pid=602 comm="sa_main" scontext=u:r:init:s0 tcontext=u:r:drm_service:s0 tclass=process permissive=1
492# 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
493allow init drm_service:process { rlimitinh siginh transition };
494# 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
495# 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
496# 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
497# 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
498allow init tmpfs:blk_file { ioctl open read write };
499# for developer
500allow init proc_developer_file:file { open read getattr };
501allow init appspawn:file { read open write };
502allow init render_service:file { read open write };
503allow init foundation:file { read open write };
504allow init powermgr:file { read open write };
505allow init sysfs_hungtask_userlist:file { read open write };
506allow init data_service_el1_public_huksService_file:file { getattr };
507allow init share_public_file:dir { getattr };
508
509# for chip ckm
510# 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
511# 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
512# 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
513allow init chip_ckm_file:dir { getattr mounton search };
514
515# 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
516# 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
517allow init chip_ckm_file:file { read open };
518
519allow init sysfs_block_file:dir { read open };
520allow init sysfs_block_file:file { open write };
521
522init_relabel(data_service_el1_public_device_attest);
523init_relabel(share_public_file);
524init_relabel(msdp_data_file);
525init_relabel(av_session_data_file);
526init_relabel(cert_manager_service_file);
527init_relabel(dlp_permission_data_file);
528
529allow ark_writeable_param tmpfs:filesystem associate;
530allow init ark_writeable_param:file { map open read relabelto relabelfrom };
531allow init ark_writeable_param:parameter_service { set };
532# 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
533allow init data_service_file:file {read append};
534# 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
535allow init dev_console_file:lnk_file { read};
536
537# avc:  denied  { setpcap } for  pid=4977 comm="init" capability=8  scontext=u:r:init:s0 tcontext=u:r:init:s0 tclass=capability permissive=0
538allow init init:capability { setpcap };
539
540# 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
541# 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
542allow init data_service_el1_file:file { open read append rename map };
543