1*e4a36f41SAndroid Build Coastguard Worker# FLASK 2*e4a36f41SAndroid Build Coastguard Worker 3*e4a36f41SAndroid Build Coastguard Worker# 4*e4a36f41SAndroid Build Coastguard Worker# Define the security object classes 5*e4a36f41SAndroid Build Coastguard Worker# 6*e4a36f41SAndroid Build Coastguard Worker 7*e4a36f41SAndroid Build Coastguard Worker# Classes marked as userspace are classes 8*e4a36f41SAndroid Build Coastguard Worker# for userspace object managers 9*e4a36f41SAndroid Build Coastguard Worker 10*e4a36f41SAndroid Build Coastguard Workerclass security 11*e4a36f41SAndroid Build Coastguard Workerclass process 12*e4a36f41SAndroid Build Coastguard Workerclass system 13*e4a36f41SAndroid Build Coastguard Workerclass capability 14*e4a36f41SAndroid Build Coastguard Worker 15*e4a36f41SAndroid Build Coastguard Worker# file-related classes 16*e4a36f41SAndroid Build Coastguard Workerclass filesystem 17*e4a36f41SAndroid Build Coastguard Workerclass file 18*e4a36f41SAndroid Build Coastguard Workerclass anon_inode 19*e4a36f41SAndroid Build Coastguard Workerclass dir 20*e4a36f41SAndroid Build Coastguard Workerclass fd 21*e4a36f41SAndroid Build Coastguard Workerclass lnk_file 22*e4a36f41SAndroid Build Coastguard Workerclass chr_file 23*e4a36f41SAndroid Build Coastguard Workerclass blk_file 24*e4a36f41SAndroid Build Coastguard Workerclass sock_file 25*e4a36f41SAndroid Build Coastguard Workerclass fifo_file 26*e4a36f41SAndroid Build Coastguard Worker 27*e4a36f41SAndroid Build Coastguard Worker# network-related classes 28*e4a36f41SAndroid Build Coastguard Workerclass socket 29*e4a36f41SAndroid Build Coastguard Workerclass tcp_socket 30*e4a36f41SAndroid Build Coastguard Workerclass udp_socket 31*e4a36f41SAndroid Build Coastguard Workerclass rawip_socket 32*e4a36f41SAndroid Build Coastguard Workerclass node 33*e4a36f41SAndroid Build Coastguard Workerclass netif 34*e4a36f41SAndroid Build Coastguard Workerclass netlink_socket 35*e4a36f41SAndroid Build Coastguard Workerclass packet_socket 36*e4a36f41SAndroid Build Coastguard Workerclass key_socket 37*e4a36f41SAndroid Build Coastguard Workerclass unix_stream_socket 38*e4a36f41SAndroid Build Coastguard Workerclass unix_dgram_socket 39*e4a36f41SAndroid Build Coastguard Worker 40*e4a36f41SAndroid Build Coastguard Worker# sysv-ipc-related classes 41*e4a36f41SAndroid Build Coastguard Workerclass sem 42*e4a36f41SAndroid Build Coastguard Workerclass msg 43*e4a36f41SAndroid Build Coastguard Workerclass msgq 44*e4a36f41SAndroid Build Coastguard Workerclass shm 45*e4a36f41SAndroid Build Coastguard Workerclass ipc 46*e4a36f41SAndroid Build Coastguard Worker 47*e4a36f41SAndroid Build Coastguard Worker# extended netlink sockets 48*e4a36f41SAndroid Build Coastguard Workerclass netlink_route_socket 49*e4a36f41SAndroid Build Coastguard Workerclass netlink_tcpdiag_socket 50*e4a36f41SAndroid Build Coastguard Workerclass netlink_nflog_socket 51*e4a36f41SAndroid Build Coastguard Workerclass netlink_xfrm_socket 52*e4a36f41SAndroid Build Coastguard Workerclass netlink_selinux_socket 53*e4a36f41SAndroid Build Coastguard Workerclass netlink_audit_socket 54*e4a36f41SAndroid Build Coastguard Workerclass netlink_dnrt_socket 55*e4a36f41SAndroid Build Coastguard Worker 56*e4a36f41SAndroid Build Coastguard Worker# IPSec association 57*e4a36f41SAndroid Build Coastguard Workerclass association 58*e4a36f41SAndroid Build Coastguard Worker 59*e4a36f41SAndroid Build Coastguard Worker# Updated Netlink class for KOBJECT_UEVENT family. 60*e4a36f41SAndroid Build Coastguard Workerclass netlink_kobject_uevent_socket 61*e4a36f41SAndroid Build Coastguard Worker 62*e4a36f41SAndroid Build Coastguard Workerclass appletalk_socket 63*e4a36f41SAndroid Build Coastguard Worker 64*e4a36f41SAndroid Build Coastguard Workerclass packet 65*e4a36f41SAndroid Build Coastguard Worker 66*e4a36f41SAndroid Build Coastguard Worker# Kernel access key retention 67*e4a36f41SAndroid Build Coastguard Workerclass key 68*e4a36f41SAndroid Build Coastguard Worker 69*e4a36f41SAndroid Build Coastguard Workerclass dccp_socket 70*e4a36f41SAndroid Build Coastguard Worker 71*e4a36f41SAndroid Build Coastguard Workerclass memprotect 72*e4a36f41SAndroid Build Coastguard Worker 73*e4a36f41SAndroid Build Coastguard Worker# network peer labels 74*e4a36f41SAndroid Build Coastguard Workerclass peer 75*e4a36f41SAndroid Build Coastguard Worker 76*e4a36f41SAndroid Build Coastguard Worker# Capabilities >= 32 77*e4a36f41SAndroid Build Coastguard Workerclass capability2 78*e4a36f41SAndroid Build Coastguard Worker 79*e4a36f41SAndroid Build Coastguard Worker# kernel services that need to override task security, e.g. cachefiles 80*e4a36f41SAndroid Build Coastguard Workerclass kernel_service 81*e4a36f41SAndroid Build Coastguard Worker 82*e4a36f41SAndroid Build Coastguard Workerclass tun_socket 83*e4a36f41SAndroid Build Coastguard Worker 84*e4a36f41SAndroid Build Coastguard Workerclass binder 85*e4a36f41SAndroid Build Coastguard Worker 86*e4a36f41SAndroid Build Coastguard Worker# Updated netlink classes for more recent netlink protocols. 87*e4a36f41SAndroid Build Coastguard Workerclass netlink_iscsi_socket 88*e4a36f41SAndroid Build Coastguard Workerclass netlink_fib_lookup_socket 89*e4a36f41SAndroid Build Coastguard Workerclass netlink_connector_socket 90*e4a36f41SAndroid Build Coastguard Workerclass netlink_netfilter_socket 91*e4a36f41SAndroid Build Coastguard Workerclass netlink_generic_socket 92*e4a36f41SAndroid Build Coastguard Workerclass netlink_scsitransport_socket 93*e4a36f41SAndroid Build Coastguard Workerclass netlink_rdma_socket 94*e4a36f41SAndroid Build Coastguard Workerclass netlink_crypto_socket 95*e4a36f41SAndroid Build Coastguard Worker 96*e4a36f41SAndroid Build Coastguard Worker# Infiniband 97*e4a36f41SAndroid Build Coastguard Workerclass infiniband_pkey 98*e4a36f41SAndroid Build Coastguard Workerclass infiniband_endport 99*e4a36f41SAndroid Build Coastguard Worker 100*e4a36f41SAndroid Build Coastguard Worker# Capability checks when on a non-init user namespace 101*e4a36f41SAndroid Build Coastguard Workerclass cap_userns 102*e4a36f41SAndroid Build Coastguard Workerclass cap2_userns 103*e4a36f41SAndroid Build Coastguard Worker 104*e4a36f41SAndroid Build Coastguard Worker# New socket classes introduced by extended_socket_class policy capability. 105*e4a36f41SAndroid Build Coastguard Worker# These two were previously mapped to rawip_socket. 106*e4a36f41SAndroid Build Coastguard Workerclass sctp_socket 107*e4a36f41SAndroid Build Coastguard Workerclass icmp_socket 108*e4a36f41SAndroid Build Coastguard Worker# These were previously mapped to socket. 109*e4a36f41SAndroid Build Coastguard Workerclass ax25_socket 110*e4a36f41SAndroid Build Coastguard Workerclass ipx_socket 111*e4a36f41SAndroid Build Coastguard Workerclass netrom_socket 112*e4a36f41SAndroid Build Coastguard Workerclass atmpvc_socket 113*e4a36f41SAndroid Build Coastguard Workerclass x25_socket 114*e4a36f41SAndroid Build Coastguard Workerclass rose_socket 115*e4a36f41SAndroid Build Coastguard Workerclass decnet_socket 116*e4a36f41SAndroid Build Coastguard Workerclass atmsvc_socket 117*e4a36f41SAndroid Build Coastguard Workerclass rds_socket 118*e4a36f41SAndroid Build Coastguard Workerclass irda_socket 119*e4a36f41SAndroid Build Coastguard Workerclass pppox_socket 120*e4a36f41SAndroid Build Coastguard Workerclass llc_socket 121*e4a36f41SAndroid Build Coastguard Workerclass can_socket 122*e4a36f41SAndroid Build Coastguard Workerclass tipc_socket 123*e4a36f41SAndroid Build Coastguard Workerclass bluetooth_socket 124*e4a36f41SAndroid Build Coastguard Workerclass iucv_socket 125*e4a36f41SAndroid Build Coastguard Workerclass rxrpc_socket 126*e4a36f41SAndroid Build Coastguard Workerclass isdn_socket 127*e4a36f41SAndroid Build Coastguard Workerclass phonet_socket 128*e4a36f41SAndroid Build Coastguard Workerclass ieee802154_socket 129*e4a36f41SAndroid Build Coastguard Workerclass caif_socket 130*e4a36f41SAndroid Build Coastguard Workerclass alg_socket 131*e4a36f41SAndroid Build Coastguard Workerclass nfc_socket 132*e4a36f41SAndroid Build Coastguard Workerclass vsock_socket 133*e4a36f41SAndroid Build Coastguard Workerclass kcm_socket 134*e4a36f41SAndroid Build Coastguard Workerclass qipcrtr_socket 135*e4a36f41SAndroid Build Coastguard Workerclass smc_socket 136*e4a36f41SAndroid Build Coastguard Workerclass xdp_socket 137*e4a36f41SAndroid Build Coastguard Workerclass mctp_socket 138*e4a36f41SAndroid Build Coastguard Worker 139*e4a36f41SAndroid Build Coastguard Workerclass process2 140*e4a36f41SAndroid Build Coastguard Worker 141*e4a36f41SAndroid Build Coastguard Workerclass bpf 142*e4a36f41SAndroid Build Coastguard Worker 143*e4a36f41SAndroid Build Coastguard Workerclass perf_event 144*e4a36f41SAndroid Build Coastguard Worker 145*e4a36f41SAndroid Build Coastguard Workerclass io_uring 146*e4a36f41SAndroid Build Coastguard Worker 147*e4a36f41SAndroid Build Coastguard Worker# Introduced in https://github.com/torvalds/linux/commit/59438b46471ae6cdfb761afc8c9beaf1e428a331 148*e4a36f41SAndroid Build Coastguard Workerclass lockdown 149*e4a36f41SAndroid Build Coastguard Worker 150*e4a36f41SAndroid Build Coastguard Workerclass user_namespace 151*e4a36f41SAndroid Build Coastguard Worker 152*e4a36f41SAndroid Build Coastguard Worker# Property service 153*e4a36f41SAndroid Build Coastguard Workerclass property_service # userspace 154*e4a36f41SAndroid Build Coastguard Worker 155*e4a36f41SAndroid Build Coastguard Worker# Service manager 156*e4a36f41SAndroid Build Coastguard Workerclass service_manager # userspace 157*e4a36f41SAndroid Build Coastguard Worker 158*e4a36f41SAndroid Build Coastguard Worker# hardware service manager # userspace 159*e4a36f41SAndroid Build Coastguard Workerclass hwservice_manager 160*e4a36f41SAndroid Build Coastguard Worker 161*e4a36f41SAndroid Build Coastguard Worker# Legacy Keystore key permissions 162*e4a36f41SAndroid Build Coastguard Workerclass keystore_key # userspace 163*e4a36f41SAndroid Build Coastguard Worker 164*e4a36f41SAndroid Build Coastguard Worker# Keystore 2.0 permissions 165*e4a36f41SAndroid Build Coastguard Workerclass keystore2 # userspace 166*e4a36f41SAndroid Build Coastguard Worker 167*e4a36f41SAndroid Build Coastguard Worker# Keystore 2.0 key permissions 168*e4a36f41SAndroid Build Coastguard Workerclass keystore2_key # userspace 169*e4a36f41SAndroid Build Coastguard Worker 170*e4a36f41SAndroid Build Coastguard Worker# Diced permissions 171*e4a36f41SAndroid Build Coastguard Workerclass diced # userspace 172*e4a36f41SAndroid Build Coastguard Worker 173*e4a36f41SAndroid Build Coastguard Workerclass drmservice # userspace 174*e4a36f41SAndroid Build Coastguard Worker# FLASK 175*e4a36f41SAndroid Build Coastguard Worker 176*e4a36f41SAndroid Build Coastguard Worker# Permissions for VMs to access SMC services 177*e4a36f41SAndroid Build Coastguard Workerclass tee_service # userspace 178