blob: 0174faaab6413f257ef1d9835d0edde9a196e825 [file] [log] [blame]
Inseob Kimff43be22021-06-07 16:56:56 +09001typeattribute fastbootd coredomain;
2
3# The allow rules are only included in the recovery policy.
4# Otherwise fastbootd is only allowed the domain rules.
5recovery_only(`
6 # Reboot the device
7 set_prop(fastbootd, powerctl_prop)
8
9 # Read serial number of the device from system properties
10 get_prop(fastbootd, serialno_prop)
11
12 # Set sys.usb.ffs.ready.
13 get_prop(fastbootd, ffs_config_prop)
14 set_prop(fastbootd, ffs_control_prop)
15
16 userdebug_or_eng(`
17 get_prop(fastbootd, persistent_properties_ready_prop)
18 ')
19
20 set_prop(fastbootd, gsid_prop)
21
22 # Determine allocation scheme (whether B partitions needs to be
23 # at the second half of super.
24 get_prop(fastbootd, virtual_ab_prop)
25
26 # Needed for TCP protocol
27 allow fastbootd node:tcp_socket node_bind;
28 allow fastbootd port:tcp_socket name_bind;
29 allow fastbootd self:tcp_socket { create_socket_perms_no_ioctl listen accept };
30
31 # Start snapuserd for merging VABC updates
32 set_prop(fastbootd, ctl_snapuserd_prop)
33
34 # Needed to communicate with snapuserd to complete merges.
35 allow fastbootd snapuserd_socket:sock_file write;
36 allow fastbootd snapuserd:unix_stream_socket connectto;
37 allow fastbootd dm_user_device:dir r_dir_perms;
38
39 # Get fastbootd protocol property
40 get_prop(fastbootd, fastbootd_protocol_prop)
41
42 # Mount /metadata to interact with Virtual A/B snapshots.
43 allow fastbootd labeledfs:filesystem { mount unmount };
44')