sepolicy: add rule for dpm
add rule for DPM data file for db file and removed duplicate rules Change-Id: Ieed4f0b1cf19df06c04528245a0c6b799518542a
This commit is contained in:
		
				
					committed by
					
						
						Ricardo Cerqueira
					
				
			
			
				
	
			
			
			
						parent
						
							722b2d01aa
						
					
				
				
					commit
					7dbb59b937
				
			@@ -1,6 +1,9 @@
 | 
			
		||||
# allow application to access cnd domain and socket
 | 
			
		||||
unix_socket_connect(appdomain, cnd, cnd)
 | 
			
		||||
 | 
			
		||||
# allow application to access dpmd domain and socket
 | 
			
		||||
unix_socket_connect(appdomain, dpmwrapper, dpmd)
 | 
			
		||||
 | 
			
		||||
unix_socket_connect(appdomain, qlogd, qlogd)
 | 
			
		||||
#Allow all apps to open and send ioctl to qdsp device
 | 
			
		||||
allow appdomain qdsp_device:chr_file r_file_perms;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,44 +1,38 @@
 | 
			
		||||
#dpmd as domain
 | 
			
		||||
type dpmd, domain;
 | 
			
		||||
type dpmd_exec, exec_type, file_type;
 | 
			
		||||
 | 
			
		||||
#file_type_auto_trans(dpmd, socket_device, dpmd_socket);
 | 
			
		||||
file_type_auto_trans(dpmd, socket_device, dpmwrapper_socket);
 | 
			
		||||
init_daemon_domain(dpmd)
 | 
			
		||||
type_transition dpmd system_data_file:{ file } dpmd_data_file;
 | 
			
		||||
 | 
			
		||||
net_domain(dpmd)
 | 
			
		||||
allow dpmd dpmd_exec:file execute_no_trans;
 | 
			
		||||
 | 
			
		||||
#allow dpmd to access diag service
 | 
			
		||||
userdebug_or_eng(`
 | 
			
		||||
  allow dpmd diag_device:chr_file { read write ioctl open };
 | 
			
		||||
')
 | 
			
		||||
allow dpmd dpmd_data_file:file { read lock getattr open setattr execute };
 | 
			
		||||
#allow dpmd to access dpm_data_file
 | 
			
		||||
allow dpmd dpmd_data_file:file create_file_perms;
 | 
			
		||||
allow dpmd dpmd_data_file:dir create_dir_perms;
 | 
			
		||||
 | 
			
		||||
#allow dpmd to access qmux radio socket
 | 
			
		||||
qmux_socket(dpmd);
 | 
			
		||||
 | 
			
		||||
#self capability
 | 
			
		||||
allow dpmd self:capability net_raw;
 | 
			
		||||
allow dpmd self:capability { chown fsetid dac_override };
 | 
			
		||||
allow dpmd self:netlink_route_socket { create read write bind create nlmsg_read };
 | 
			
		||||
allow dpmd sysfs_wake_lock:file { open append };
 | 
			
		||||
allow dpmd self:capability net_admin;
 | 
			
		||||
allow dpmd self:rawip_socket { getopt create setopt };
 | 
			
		||||
allow dpmd sysfs_wake_lock:file rw_file_perms;
 | 
			
		||||
allow dpmd self:socket rw_socket_perms;
 | 
			
		||||
allow dpmd self:netlink_socket rw_socket_perms;
 | 
			
		||||
allow dpmd self:capability { setuid setgid dac_override net_raw chown fsetid net_admin sys_module };
 | 
			
		||||
 | 
			
		||||
#socket
 | 
			
		||||
allow dpmd self:udp_socket { ioctl create getopt };
 | 
			
		||||
allow dpmd smem_log_device:chr_file { read write ioctl open };
 | 
			
		||||
allow dpmd init:unix_stream_socket connectto;
 | 
			
		||||
 | 
			
		||||
#llow dpmd to set system property
 | 
			
		||||
allow dpmd property_socket:sock_file write;
 | 
			
		||||
#socket, self
 | 
			
		||||
allow dpmd smem_log_device:chr_file rw_file_perms;
 | 
			
		||||
unix_socket_connect(dpmd, property, init)
 | 
			
		||||
allow dpmd self:capability2 block_suspend;
 | 
			
		||||
allow dpmd system_prop:property_service set;
 | 
			
		||||
allow dpmd ctl_default_prop:property_service set;
 | 
			
		||||
 | 
			
		||||
#misc.
 | 
			
		||||
allow dpmd shell_exec:file { read execute open execute_no_trans };
 | 
			
		||||
allow dpmd system_file:file execute_no_trans;
 | 
			
		||||
 | 
			
		||||
#kernel
 | 
			
		||||
allow dpmd kernel:system module_request;
 | 
			
		||||
 | 
			
		||||
#appdomain
 | 
			
		||||
allow dpmd appdomain:fd use;
 | 
			
		||||
allow dpmd appdomain:tcp_socket { read write getopt };
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,8 @@ type cnd_data_file, file_type;
 | 
			
		||||
 | 
			
		||||
# Define dpmd data file type
 | 
			
		||||
type dpmd_socket, file_type;
 | 
			
		||||
type dpmd_data_file, data_file_type;
 | 
			
		||||
type dpmwrapper_socket, file_type;
 | 
			
		||||
type dpmd_data_file, file_type, data_file_type;
 | 
			
		||||
 | 
			
		||||
#Define the timeout for platform specific transports
 | 
			
		||||
type sysfs_hsic_modem_wait, sysfs_type, fs_type;
 | 
			
		||||
 
 | 
			
		||||
@@ -73,6 +73,7 @@
 | 
			
		||||
/dev/socket/qlogd                               u:object_r:qlogd_socket:s0
 | 
			
		||||
/dev/socket/ipacm_log_file                      u:object_r:ipacm_socket:s0
 | 
			
		||||
/dev/socket/dpmd                                u:object_r:dpmd_socket:s0
 | 
			
		||||
/dev/socket/dpmwrapper                          u:object_r:dpmwrapper_socket:s0
 | 
			
		||||
/dev/socket/pps                                 u:object_r:pps_socket:s0
 | 
			
		||||
/dev/socket/rild2                               u:object_r:rild_socket:s0
 | 
			
		||||
/dev/socket/rild2-debug                         u:object_r:rild_debug_socket:s0
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,4 @@
 | 
			
		||||
# Adding allow rule for search on /fuse
 | 
			
		||||
allow init fuse:dir search;
 | 
			
		||||
 | 
			
		||||
#allow dpmd to read, write on data file
 | 
			
		||||
allow init dpmd_data_file:dir { read open setattr };
 | 
			
		||||
 | 
			
		||||
allow init self:capability sys_module;
 | 
			
		||||
allow init fuse:dir mounton;
 | 
			
		||||
 
 | 
			
		||||
@@ -5,3 +5,6 @@ allow radio ims_socket:sock_file write;
 | 
			
		||||
#Need permission to execute com.qualcomm.qti.telephony/app_dex/xx
 | 
			
		||||
allow radio radio_data_file:file execute;
 | 
			
		||||
allow radio shell_data_file:dir search;
 | 
			
		||||
 | 
			
		||||
#Need permission to execute dpmd talk to radio layer
 | 
			
		||||
unix_socket_connect(radio, dpmd, dpmd)
 | 
			
		||||
 
 | 
			
		||||
@@ -18,15 +18,13 @@ unix_socket_send(system_server, mpctl, mpdecision)
 | 
			
		||||
unix_socket_connect(system_server, mpctl, mpdecision)
 | 
			
		||||
 | 
			
		||||
# allow  system/framework applications to update the dpmd configuration files
 | 
			
		||||
#allow system_server dpmd:unix_stream_socket connectto;
 | 
			
		||||
unix_socket_connect(system_server, dpmd, dpmd);
 | 
			
		||||
allow system_server dpmd_socket:sock_file write;
 | 
			
		||||
#allow system_server dpmd_data_file:dir { write read getattr open add_name };
 | 
			
		||||
allow system_server dpmd_data_file:dir rw_dir_perms;
 | 
			
		||||
#allow system_server dpmd_data_file:file { write getattr setattr read lock create open };
 | 
			
		||||
allow system_server dpmd_data_file:file rw_file_perms;
 | 
			
		||||
allow system_server dpmd_data_file:dir create_dir_perms;
 | 
			
		||||
allow system_server dpmservice:service_manager add;
 | 
			
		||||
allow system_server dpmd_data_file:file create_file_perms;
 | 
			
		||||
allow system_server socket_device:sock_file write;
 | 
			
		||||
 | 
			
		||||
unix_socket_send(system_server, mpctl, perfd)
 | 
			
		||||
unix_socket_connect(system_server, mpctl, perfd)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,3 @@
 | 
			
		||||
allow dpmd untrusted_app:fd use;
 | 
			
		||||
allow dpmd untrusted_app:tcp_socket { read write };
 | 
			
		||||
allow untrusted_app dpmd:unix_stream_socket connectto;
 | 
			
		||||
allow untrusted_app dpmd_socket:sock_file write;
 | 
			
		||||
 | 
			
		||||
# access to perflock
 | 
			
		||||
allow untrusted_app mpctl_socket:dir r_dir_perms;
 | 
			
		||||
unix_socket_send(untrusted_app, mpctl, perfd)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user