1*e4a36f41SAndroid Build Coastguard Worker# Device types 2*e4a36f41SAndroid Build Coastguard Workertype device, dev_type, fs_type; 3*e4a36f41SAndroid Build Coastguard Workertype ashmem_device, dev_type, mlstrustedobject; 4*e4a36f41SAndroid Build Coastguard Workertype ashmem_libcutils_device, dev_type, mlstrustedobject; 5*e4a36f41SAndroid Build Coastguard Workertype audio_device, dev_type; 6*e4a36f41SAndroid Build Coastguard Workertype binder_device, dev_type, mlstrustedobject; 7*e4a36f41SAndroid Build Coastguard Workertype hwbinder_device, dev_type, mlstrustedobject, isolated_compute_allowed_device; 8*e4a36f41SAndroid Build Coastguard Workertype vndbinder_device, dev_type; 9*e4a36f41SAndroid Build Coastguard Workertype block_device, dev_type; 10*e4a36f41SAndroid Build Coastguard Workertype bt_device, dev_type; 11*e4a36f41SAndroid Build Coastguard Workertype camera_device, dev_type; 12*e4a36f41SAndroid Build Coastguard Workertype dm_device, dev_type; 13*e4a36f41SAndroid Build Coastguard Workertype ublk_block_device, dev_type; 14*e4a36f41SAndroid Build Coastguard Workertype dm_user_device, dev_type; 15*e4a36f41SAndroid Build Coastguard Workertype ublk_control_device, dev_type; 16*e4a36f41SAndroid Build Coastguard Workertype keychord_device, dev_type; 17*e4a36f41SAndroid Build Coastguard Workertype loop_control_device, dev_type; 18*e4a36f41SAndroid Build Coastguard Workertype loop_device, dev_type; 19*e4a36f41SAndroid Build Coastguard Workertype pmsg_device, dev_type, mlstrustedobject; 20*e4a36f41SAndroid Build Coastguard Workertype radio_device, dev_type; 21*e4a36f41SAndroid Build Coastguard Workertype ram_device, dev_type; 22*e4a36f41SAndroid Build Coastguard Workertype rtc_device, dev_type; 23*e4a36f41SAndroid Build Coastguard Workertype vd_device, dev_type; 24*e4a36f41SAndroid Build Coastguard Workertype vold_device, dev_type; 25*e4a36f41SAndroid Build Coastguard Workertype console_device, dev_type; 26*e4a36f41SAndroid Build Coastguard Workertype fscklogs, dev_type; 27*e4a36f41SAndroid Build Coastguard Worker# GPU (used by most UI apps) 28*e4a36f41SAndroid Build Coastguard Workertype gpu_device, dev_type, mlstrustedobject, isolated_compute_allowed_device; 29*e4a36f41SAndroid Build Coastguard Workertype graphics_device, dev_type; 30*e4a36f41SAndroid Build Coastguard Workertype hw_random_device, dev_type; 31*e4a36f41SAndroid Build Coastguard Workertype input_device, dev_type; 32*e4a36f41SAndroid Build Coastguard Workertype port_device, dev_type; 33*e4a36f41SAndroid Build Coastguard Workertype lowpan_device, dev_type; 34*e4a36f41SAndroid Build Coastguard Workertype mtp_device, dev_type, mlstrustedobject; 35*e4a36f41SAndroid Build Coastguard Workertype nfc_device, dev_type; 36*e4a36f41SAndroid Build Coastguard Workertype ptmx_device, dev_type, mlstrustedobject; 37*e4a36f41SAndroid Build Coastguard Workertype kmsg_device, dev_type, mlstrustedobject; 38*e4a36f41SAndroid Build Coastguard Workertype kmsg_debug_device, dev_type; 39*e4a36f41SAndroid Build Coastguard Workertype null_device, dev_type, mlstrustedobject; 40*e4a36f41SAndroid Build Coastguard Workertype random_device, dev_type, mlstrustedobject; 41*e4a36f41SAndroid Build Coastguard Workertype secure_element_device, dev_type; 42*e4a36f41SAndroid Build Coastguard Workertype sensors_device, dev_type; 43*e4a36f41SAndroid Build Coastguard Workertype serial_device, dev_type; 44*e4a36f41SAndroid Build Coastguard Workertype socket_device, dev_type; 45*e4a36f41SAndroid Build Coastguard Workertype owntty_device, dev_type, mlstrustedobject; 46*e4a36f41SAndroid Build Coastguard Workertype tty_device, dev_type; 47*e4a36f41SAndroid Build Coastguard Workertype video_device, dev_type; 48*e4a36f41SAndroid Build Coastguard Workertype zero_device, dev_type, mlstrustedobject; 49*e4a36f41SAndroid Build Coastguard Workertype fuse_device, dev_type, mlstrustedobject; 50*e4a36f41SAndroid Build Coastguard Workertype iio_device, dev_type; 51*e4a36f41SAndroid Build Coastguard Workertype ion_device, dev_type, mlstrustedobject, isolated_compute_allowed_device; 52*e4a36f41SAndroid Build Coastguard Workertype dmabuf_heap_device, dmabuf_heap_device_type, dev_type, mlstrustedobject; 53*e4a36f41SAndroid Build Coastguard Workertype dmabuf_system_heap_device, dmabuf_heap_device_type, dev_type, mlstrustedobject, isolated_compute_allowed_device; 54*e4a36f41SAndroid Build Coastguard Workertype dmabuf_system_secure_heap_device, dmabuf_heap_device_type, dev_type, mlstrustedobject; 55*e4a36f41SAndroid Build Coastguard Workertype qtaguid_device, dev_type; 56*e4a36f41SAndroid Build Coastguard Workertype watchdog_device, dev_type; 57*e4a36f41SAndroid Build Coastguard Workertype uhid_device, dev_type, mlstrustedobject; 58*e4a36f41SAndroid Build Coastguard Workertype uio_device, dev_type; 59*e4a36f41SAndroid Build Coastguard Workertype tun_device, dev_type, mlstrustedobject; 60*e4a36f41SAndroid Build Coastguard Workertype usbaccessory_device, dev_type, mlstrustedobject; 61*e4a36f41SAndroid Build Coastguard Workertype usb_device, dev_type, mlstrustedobject; 62*e4a36f41SAndroid Build Coastguard Workertype usb_serial_device, dev_type; 63*e4a36f41SAndroid Build Coastguard Workertype gnss_device, dev_type; 64*e4a36f41SAndroid Build Coastguard Workertype properties_device, dev_type; 65*e4a36f41SAndroid Build Coastguard Workertype properties_serial, dev_type; 66*e4a36f41SAndroid Build Coastguard Workertype property_info, dev_type; 67*e4a36f41SAndroid Build Coastguard Workertype hidraw_device, dev_type; 68*e4a36f41SAndroid Build Coastguard Worker 69*e4a36f41SAndroid Build Coastguard Worker# All devices have a uart for the hci 70*e4a36f41SAndroid Build Coastguard Worker# attach service. The uart dev node 71*e4a36f41SAndroid Build Coastguard Worker# varies per device. This type 72*e4a36f41SAndroid Build Coastguard Worker# is used in per device policy 73*e4a36f41SAndroid Build Coastguard Workertype hci_attach_dev, dev_type; 74*e4a36f41SAndroid Build Coastguard Worker 75*e4a36f41SAndroid Build Coastguard Worker# All devices have a rpmsg device for 76*e4a36f41SAndroid Build Coastguard Worker# achieving remoteproc and rpmsg modules 77*e4a36f41SAndroid Build Coastguard Workertype rpmsg_device, dev_type; 78*e4a36f41SAndroid Build Coastguard Worker 79*e4a36f41SAndroid Build Coastguard Worker# Partition layout block device 80*e4a36f41SAndroid Build Coastguard Workertype root_block_device, dev_type; 81*e4a36f41SAndroid Build Coastguard Worker 82*e4a36f41SAndroid Build Coastguard Worker# factory reset protection block device 83*e4a36f41SAndroid Build Coastguard Workertype frp_block_device, dev_type; 84*e4a36f41SAndroid Build Coastguard Worker 85*e4a36f41SAndroid Build Coastguard Worker# System block device mounted on /system. 86*e4a36f41SAndroid Build Coastguard Worker# Documented at https://source.android.com/devices/bootloader/partitions 87*e4a36f41SAndroid Build Coastguard Workertype system_block_device, dev_type; 88*e4a36f41SAndroid Build Coastguard Worker 89*e4a36f41SAndroid Build Coastguard Worker# Recovery block device. 90*e4a36f41SAndroid Build Coastguard Worker# Documented at https://source.android.com/devices/bootloader/partitions 91*e4a36f41SAndroid Build Coastguard Workertype recovery_block_device, dev_type; 92*e4a36f41SAndroid Build Coastguard Worker 93*e4a36f41SAndroid Build Coastguard Worker# boot block device. 94*e4a36f41SAndroid Build Coastguard Worker# Documented at https://source.android.com/devices/bootloader/partitions 95*e4a36f41SAndroid Build Coastguard Workertype boot_block_device, dev_type; 96*e4a36f41SAndroid Build Coastguard Worker 97*e4a36f41SAndroid Build Coastguard Worker# dtbo block device, type used for getting DTBO information for AVF. 98*e4a36f41SAndroid Build Coastguard Worker# Documented at https://source.android.com/docs/core/architecture/dto/partitions 99*e4a36f41SAndroid Build Coastguard Workertype dtbo_block_device, dev_type; 100*e4a36f41SAndroid Build Coastguard Worker 101*e4a36f41SAndroid Build Coastguard Worker# Userdata block device mounted on /data. 102*e4a36f41SAndroid Build Coastguard Worker# Documented at https://source.android.com/devices/bootloader/partitions 103*e4a36f41SAndroid Build Coastguard Workertype userdata_block_device, dev_type; 104*e4a36f41SAndroid Build Coastguard Worker 105*e4a36f41SAndroid Build Coastguard Worker# Zoned block device. 106*e4a36f41SAndroid Build Coastguard Workertype zoned_block_device, dev_type; 107*e4a36f41SAndroid Build Coastguard Worker 108*e4a36f41SAndroid Build Coastguard Worker# Cache block device mounted on /cache. 109*e4a36f41SAndroid Build Coastguard Worker# Documented at https://source.android.com/devices/bootloader/partitions 110*e4a36f41SAndroid Build Coastguard Workertype cache_block_device, dev_type; 111*e4a36f41SAndroid Build Coastguard Worker 112*e4a36f41SAndroid Build Coastguard Worker# Block device for any swap partition. 113*e4a36f41SAndroid Build Coastguard Workertype swap_block_device, dev_type; 114*e4a36f41SAndroid Build Coastguard Worker 115*e4a36f41SAndroid Build Coastguard Worker# Metadata block device mounted on /metadata, used for encryption metadata and 116*e4a36f41SAndroid Build Coastguard Worker# various other purposes. 117*e4a36f41SAndroid Build Coastguard Worker# Documented at https://source.android.com/devices/bootloader/partitions 118*e4a36f41SAndroid Build Coastguard Workertype metadata_block_device, dev_type; 119*e4a36f41SAndroid Build Coastguard Worker 120*e4a36f41SAndroid Build Coastguard Worker# The 'misc' partition used by recovery and A/B. 121*e4a36f41SAndroid Build Coastguard Worker# Documented at https://source.android.com/devices/bootloader/partitions 122*e4a36f41SAndroid Build Coastguard Workertype misc_block_device, dev_type; 123*e4a36f41SAndroid Build Coastguard Worker 124*e4a36f41SAndroid Build Coastguard Worker# 'super' partition to be used for logical partitioning. 125*e4a36f41SAndroid Build Coastguard Workertype super_block_device, super_block_device_type, dev_type; 126*e4a36f41SAndroid Build Coastguard Worker 127*e4a36f41SAndroid Build Coastguard Worker# sdcard devices; normally vold uses the vold_block_device label and creates a 128*e4a36f41SAndroid Build Coastguard Worker# separate device node. gsid, however, accesses the original devide node 129*e4a36f41SAndroid Build Coastguard Worker# created through uevents, so we use a separate label. 130*e4a36f41SAndroid Build Coastguard Workertype sdcard_block_device, dev_type; 131*e4a36f41SAndroid Build Coastguard Worker 132*e4a36f41SAndroid Build Coastguard Worker# Userdata device file for filesystem tunables 133*e4a36f41SAndroid Build Coastguard Workertype userdata_sysdev, dev_type; 134*e4a36f41SAndroid Build Coastguard Worker 135*e4a36f41SAndroid Build Coastguard Worker# Root disk file for disk tunables 136*e4a36f41SAndroid Build Coastguard Workertype rootdisk_sysdev, dev_type; 137*e4a36f41SAndroid Build Coastguard Worker 138*e4a36f41SAndroid Build Coastguard Worker# vfio device 139*e4a36f41SAndroid Build Coastguard Workertype vfio_device, dev_type; 140*e4a36f41SAndroid Build Coastguard Worker 141*e4a36f41SAndroid Build Coastguard Worker# system/sepolicy/public is for vendor-facing type and attribute definitions. 142*e4a36f41SAndroid Build Coastguard Worker# DO NOT ADD allow, neverallow, or dontaudit statements here. 143*e4a36f41SAndroid Build Coastguard Worker# Instead, add such policy rules to system/sepolicy/private/*.te. 144