summaryrefslogtreecommitdiff
path: root/common/sepolicy/droidvold.te (plain)
blob: 5c62af57099d99fae91433912873e70970af8ee5
1type droidvold, domain;
2type droidvold_exec, exec_type, vendor_file_type, file_type;
3
4init_daemon_domain(droidvold)
5
6# Read access to pseudo filesystems.
7r_dir_file(droidvold, proc)
8r_dir_file(droidvold, sysfs_type)
9
10
11allow droidvold proc_meminfo:file r_file_perms;
12allow droidvold self:capability { setgid setuid };
13
14allow droidvold cpuctl_device:dir search;
15
16allow droidvold device:dir { open read };
17allow droidvold usb_device:dir { open read search };
18allow droidvold system_data_file:fifo_file { open read write };
19
20allow droidvold block_device:dir { create read write search add_name };
21
22allow droidvold fuseblk:filesystem { mount unmount };
23
24allow droidvold self:capability { net_admin dac_override sys_admin sys_rawio chown fowner fsetid };
25
26allow droidvold tmpfs:dir create_dir_perms;
27allow droidvold tmpfs:dir mounton;
28
29allow droidvold kernel:system module_request;
30allow droidvold mnt_media_rw_file:dir { r_dir_perms };
31allow droidvold mnt_media_rw_stub_file:dir { r_dir_perms mounton };
32
33allow droidvold droidvold:netlink_kobject_uevent_socket { create setopt bind read getopt };
34
35allow droidvold rootfs:dir mounton;
36allow droidvold rootfs:file { read open getattr };
37
38allow droidvold { sysfs sysfs_zram sysfs_zram_uevent }:dir { open read search };
39allow droidvold { sysfs sysfs_zram sysfs_zram_uevent }:file { write open read };
40
41allow droidvold file_contexts_file:file r_file_perms;
42
43allow proc_net proc:filesystem { associate };
44
45allow droidvold self:process { setexec setfscreate };
46allow droidvold sysfs:file { getattr };
47# For sgdisk launched through popen()
48# allow droidvold shell_exec:file rx_file_perms;
49
50allow droidvold hwservicemanager_prop:file { open read getattr };
51
52allow droidvold hwservicemanager:binder { call transfer };
53allow droidvold { droidvold_hwservice hidl_base_hwservice }:hwservice_manager { add };
54
55allow droidvold system_app:binder { call transfer };
56
57allow droidvold mnt_media_rw_file:dir { create_dir_perms mounton };
58allow droidvold mnt_media_rw_file:file create_file_perms;
59
60allow droidvold ntfs:filesystem { mount unmount};
61allow droidvold exfat:filesystem { mount unmount};
62allow droidvold vfat:filesystem { mount unmount};
63allow droidvold { vfat exfat ntfs }:dir rw_dir_perms;
64
65allow droidvold iso9660:filesystem { mount unmount};
66allow droidvold hfsplus:filesystem { mount unmount};
67
68# For vold Process::killProcessesWithOpenFiles function.
69allow droidvold domain:dir r_dir_perms;
70allow droidvold domain:{ file lnk_file } r_file_perms;
71allow droidvold domain:process { signal sigkill };
72allow droidvold self:capability { kill };
73
74allow droidvold platform_app:file r_file_perms;
75allow droidvold platform_app:dir { open read getattr search };
76allow droidvold init:file r_file_perms;
77allow droidvold init:dir { r_dir_perms search };
78
79allow droidvold platform_app:lnk_file { open getattr read };
80allow droidvold init:lnk_file { open getattr read };
81allow droidvold untrusted_app:lnk_file { open getattr read };
82
83
84# Allowed read-only access to droidvold block devices to extract UUID/label
85allow droidvold vold_device:blk_file r_file_perms;
86allow droidvold sda_block_device:dir search;
87allow droidvold sda_block_device:blk_file r_file_perms;
88
89allow droidvold fuse_device:chr_file r_file_perms;
90
91allow droidvold devpts:chr_file rw_file_perms;
92
93domain_auto_trans(droidvold, ntfs_3g_exec, ntfs_3g);
94