Skip to content
Snippets Groups Projects
Select Git revision
  • 50ab0b1acec0bbd48d1cb8e831bfbedfad456a15
  • master default protected
  • android-7.1.2_r28_klist
  • pie-cts-release
  • pie-vts-release
  • pie-cts-dev
  • oreo-mr1-iot-release
  • sdk-release
  • oreo-m6-s4-release
  • oreo-m4-s12-release
  • pie-release
  • pie-r2-release
  • pie-r2-s1-release
  • oreo-vts-release
  • oreo-cts-release
  • oreo-dev
  • oreo-mr1-dev
  • pie-gsi
  • pie-platform-release
  • pie-dev
  • oreo-cts-dev
  • android-o-mr1-iot-release-1.0.4
  • android-9.0.0_r8
  • android-9.0.0_r7
  • android-9.0.0_r6
  • android-9.0.0_r5
  • android-8.1.0_r46
  • android-8.1.0_r45
  • android-n-iot-release-smart-display-r2
  • android-vts-8.1_r5
  • android-cts-8.1_r8
  • android-cts-8.0_r12
  • android-cts-7.1_r20
  • android-cts-7.0_r24
  • android-o-mr1-iot-release-1.0.3
  • android-cts-9.0_r1
  • android-8.1.0_r43
  • android-8.1.0_r42
  • android-n-iot-release-smart-display
  • android-p-preview-5
  • android-9.0.0_r3
41 results

te_macros

Blame
  • access_vectors 7.94 KiB
    #
    # Define common prefixes for access vectors
    #
    # common common_name { permission_name ... }
    
    
    #
    # Define a common prefix for file access vectors.
    #
    
    common file
    {
    	ioctl
    	read
    	write
    	create
    	getattr
    	setattr
    	lock
    	relabelfrom
    	relabelto
    	append
    	map
    	unlink
    	link
    	rename
    	execute
    	quotaon
    	mounton
    }
    
    
    #
    # Define a common prefix for socket access vectors.
    #
    
    common socket
    {
    # inherited from file
    	ioctl
    	read
    	write
    	create
    	getattr
    	setattr
    	lock
    	relabelfrom
    	relabelto
    	append
    	map
    # socket-specific
    	bind
    	connect
    	listen
    	accept
    	getopt
    	setopt
    	shutdown
    	recvfrom
    	sendto
    	name_bind
    }
    
    #
    # Define a common prefix for ipc access vectors.
    #
    
    common ipc
    {
    	create
    	destroy
    	getattr
    	setattr
    	read
    	write
    	associate
    	unix_read
    	unix_write
    }
    
    #
    # Define a common for capability access vectors.
    #
    common cap
    {
    	# The capabilities are defined in include/linux/capability.h
    	# Capabilities >= 32 are defined in the cap2 common.
    	# Care should be taken to ensure that these are consistent with
    	# those definitions. (Order matters)
    
    	chown
    	dac_override
    	dac_read_search
    	fowner
    	fsetid
    	kill
    	setgid
    	setuid
    	setpcap
    	linux_immutable
    	net_bind_service
    	net_broadcast
    	net_admin
    	net_raw
    	ipc_lock
    	ipc_owner
    	sys_module
    	sys_rawio
    	sys_chroot
    	sys_ptrace
    	sys_pacct
    	sys_admin
    	sys_boot
    	sys_nice
    	sys_resource
    	sys_time
    	sys_tty_config
    	mknod
    	lease
    	audit_write
    	audit_control
    	setfcap
    }
    
    common cap2
    {
    	mac_override	# unused by SELinux
    	mac_admin	# unused by SELinux
    	syslog
    	wake_alarm
    	block_suspend
    	audit_read
    }
    
    #
    # Define the access vectors.
    #
    # class class_name [ inherits common_name ] { permission_name ... }
    
    
    #
    # Define the access vector interpretation for file-related objects.
    #
    
    class filesystem
    {
    	mount
    	remount
    	unmount
    	getattr
    	relabelfrom
    	relabelto
    	associate
    	quotamod
    	quotaget
    }
    
    class dir
    inherits file
    {
    	add_name
    	remove_name
    	reparent
    	search
    	rmdir
    	open
    	audit_access
    	execmod
    }
    
    class file
    inherits file
    {
    	execute_no_trans
    	entrypoint
    	execmod
    	open
    	audit_access
    }
    
    class lnk_file
    inherits file
    {
    	open
    	audit_access
    	execmod
    }
    
    class chr_file
    inherits file
    {
    	execute_no_trans
    	entrypoint
    	execmod
    	open
    	audit_access
    }
    
    class blk_file
    inherits file
    {
    	open
    	audit_access
    	execmod
    }
    
    class sock_file
    inherits file
    {
    	open
    	audit_access
    	execmod
    }
    
    class fifo_file
    inherits file
    {
    	open
    	audit_access
    	execmod
    }
    
    class fd
    {
    	use
    }
    
    
    #
    # Define the access vector interpretation for network-related objects.
    #
    
    class socket
    inherits socket
    
    class tcp_socket
    inherits socket
    {
    	node_bind
    	name_connect
    }
    
    class udp_socket
    inherits socket
    {
    	node_bind
    }
    
    class rawip_socket
    inherits socket
    {
    	node_bind
    }
    
    class node
    {
    	recvfrom
    	sendto
    }
    
    class netif
    {
    	ingress
    	egress
    }
    
    class netlink_socket
    inherits socket
    
    class packet_socket
    inherits socket
    
    class key_socket
    inherits socket
    
    class unix_stream_socket
    inherits socket
    {
    	connectto
    }
    
    class unix_dgram_socket
    inherits socket
    
    #
    # Define the access vector interpretation for process-related objects
    #
    
    class process
    {
    	fork
    	transition
    	sigchld # commonly granted from child to parent
    	sigkill # cannot be caught or ignored
    	sigstop # cannot be caught or ignored
    	signull # for kill(pid, 0)
    	signal  # all other signals
    	ptrace
    	getsched
    	setsched
    	getsession
    	getpgid
    	setpgid
    	getcap
    	setcap
    	share
    	getattr
    	setexec
    	setfscreate
    	noatsecure
    	siginh
    	setrlimit
    	rlimitinh
    	dyntransition
    	setcurrent
    	execmem
    	execstack
    	execheap
    	setkeycreate
    	setsockcreate
    	getrlimit
    }
    
    
    #
    # Define the access vector interpretation for ipc-related objects
    #
    
    class ipc
    inherits ipc
    
    class sem
    inherits ipc
    
    class msgq
    inherits ipc
    {
    	enqueue
    }
    
    class msg
    {
    	send
    	receive
    }
    
    class shm
    inherits ipc
    {
    	lock
    }
    
    
    #
    # Define the access vector interpretation for the security server.
    #
    
    class security
    {
    	compute_av
    	compute_create
    	compute_member
    	check_context
    	load_policy
    	compute_relabel
    	compute_user
    	setenforce     # was avc_toggle in system class
    	setbool
    	setsecparam
    	setcheckreqprot
    	read_policy
    	validate_trans
    }
    
    
    #
    # Define the access vector interpretation for system operations.
    #
    
    class system
    {
    	ipc_info
    	syslog_read
    	syslog_mod
    	syslog_console
    	module_request
    	module_load
    }
    
    #
    # Define the access vector interpretation for controlling capabilities
    #
    
    class capability
    inherits cap
    
    class capability2
    inherits cap2
    
    #
    # Extended Netlink classes
    #
    class netlink_route_socket
    inherits socket
    {
    	nlmsg_read
    	nlmsg_write
    }
    
    class netlink_tcpdiag_socket
    inherits socket
    {
    	nlmsg_read
    	nlmsg_write
    }
    
    class netlink_nflog_socket
    inherits socket
    
    class netlink_xfrm_socket
    inherits socket
    {
    	nlmsg_read
    	nlmsg_write
    }
    
    class netlink_selinux_socket
    inherits socket
    
    class netlink_audit_socket
    inherits socket
    {
    	nlmsg_read
    	nlmsg_write
    	nlmsg_relay
    	nlmsg_readpriv
    	nlmsg_tty_audit
    }
    
    class netlink_dnrt_socket
    inherits socket
    
    # Define the access vector interpretation for controlling
    # access to IPSec network data by association
    #
    class association
    {
    	sendto
    	recvfrom
    	setcontext
    	polmatch
    }
    
    # Updated Netlink class for KOBJECT_UEVENT family.
    class netlink_kobject_uevent_socket
    inherits socket
    
    class appletalk_socket
    inherits socket
    
    class packet
    {
    	send
    	recv
    	relabelto
    	flow_in		# deprecated
    	flow_out	# deprecated
    	forward_in
    	forward_out
    }
    
    class key
    {
    	view
    	read
    	write
    	search
    	link
    	setattr
    	create
    }
    
    class dccp_socket
    inherits socket
    {
    	node_bind
    	name_connect
    }
    
    class memprotect
    {
    	mmap_zero
    }
    
    # network peer labels
    class peer
    {
    	recv
    }
    
    class kernel_service
    {
    	use_as_override
    	create_files_as
    }
    
    class tun_socket
    inherits socket
    {
    	attach_queue
    }
    
    class binder
    {
    	impersonate
    	call
    	set_context_mgr
    	transfer
    }
    
    class netlink_iscsi_socket
    inherits socket
    
    class netlink_fib_lookup_socket
    inherits socket
    
    class netlink_connector_socket
    inherits socket
    
    class netlink_netfilter_socket
    inherits socket
    
    class netlink_generic_socket
    inherits socket
    
    class netlink_scsitransport_socket
    inherits socket
    
    class netlink_rdma_socket
    inherits socket
    
    class netlink_crypto_socket
    inherits socket
    
    #
    # Define the access vector interpretation for controlling capabilities
    # in user namespaces
    #
    
    class cap_userns
    inherits cap
    
    class cap2_userns
    inherits cap2
    
    
    #
    # Define the access vector interpretation for the new socket classes
    # enabled by the extended_socket_class policy capability.
    #
    
    #
    # The next two classes were previously mapped to rawip_socket and therefore
    # have the same definition as rawip_socket (until further permissions
    # are defined).
    #
    class sctp_socket
    inherits socket
    {
    	node_bind
    }
    
    class icmp_socket
    inherits socket
    {
    	node_bind
    }
    
    #
    # The remaining network socket classes were previously
    # mapped to the socket class and therefore have the
    # same definition as socket.
    #
    
    class ax25_socket
    inherits socket
    
    class ipx_socket
    inherits socket
    
    class netrom_socket
    inherits socket
    
    class atmpvc_socket
    inherits socket
    
    class x25_socket
    inherits socket
    
    class rose_socket
    inherits socket
    
    class decnet_socket
    inherits socket
    
    class atmsvc_socket
    inherits socket
    
    class rds_socket
    inherits socket
    
    class irda_socket
    inherits socket
    
    class pppox_socket
    inherits socket
    
    class llc_socket
    inherits socket
    
    class can_socket
    inherits socket
    
    class tipc_socket
    inherits socket
    
    class bluetooth_socket
    inherits socket
    
    class iucv_socket
    inherits socket
    
    class rxrpc_socket
    inherits socket
    
    class isdn_socket
    inherits socket
    
    class phonet_socket
    inherits socket
    
    class ieee802154_socket
    inherits socket
    
    class caif_socket
    inherits socket
    
    class alg_socket
    inherits socket
    
    class nfc_socket
    inherits socket
    
    class vsock_socket
    inherits socket
    
    class kcm_socket
    inherits socket
    
    class qipcrtr_socket
    inherits socket
    
    class smc_socket
    inherits socket
    
    class property_service
    {
    	set
    }
    
    class service_manager
    {
    	add
    	find
    	list
    }
    
    class hwservice_manager
    {
    	add
    	find
    	list
    }
    
    class keystore_key
    {
    	get_state
    	get
    	insert
    	delete
    	exist
    	list
    	reset
    	password
    	lock
    	unlock
    	is_empty
    	sign
    	verify
    	grant
    	duplicate
    	clear_uid
    	add_auth
    	user_changed
    	gen_unique_id
    }
    
    class drmservice {
    	consumeRights
    	setPlaybackStatus
    	openDecryptSession
    	closeDecryptSession
    	initializeDecryptUnit
    	decrypt
    	finalizeDecryptUnit
    	pread
    }