Home | History | Annotate | Download | only in sepolicy
      1 # File types must be defined for file_contexts.
      2 type su_exec, exec_type, file_type;
      3 
      4 userdebug_or_eng(`
      5   # Domain used for su processes, as well as for adbd and adb shell
      6   # after performing an adb root command.  The domain definition is
      7   # wrapped to ensure that it does not exist at all on -user builds.
      8   type su, domain, mlstrustedsubject;
      9   domain_auto_trans(shell, su_exec, su)
     10 
     11   # Allow dumpstate to call su on userdebug / eng builds to collect
     12   # additional information.
     13   domain_auto_trans(dumpstate, su_exec, su)
     14 
     15   # Make sure that dumpstate runs the same from the "su" domain as
     16   # from the "init" domain.
     17   domain_auto_trans(su, dumpstate_exec, dumpstate)
     18 
     19   # su is also permissive to permit setenforce.
     20   permissive su;
     21 
     22   # Add su to various domains
     23   net_domain(su)
     24   app_domain(su)
     25 
     26   dontaudit su self:capability_class_set *;
     27   dontaudit su kernel:security *;
     28   dontaudit su kernel:system *;
     29   dontaudit su self:memprotect *;
     30   dontaudit su domain:process *;
     31   dontaudit su domain:fd *;
     32   dontaudit su domain:dir *;
     33   dontaudit su domain:lnk_file *;
     34   dontaudit su domain:{ fifo_file file } *;
     35   dontaudit su domain:socket_class_set *;
     36   dontaudit su domain:ipc_class_set *;
     37   dontaudit su domain:key *;
     38   dontaudit su fs_type:filesystem *;
     39   dontaudit su {fs_type dev_type file_type}:dir_file_class_set *;
     40   dontaudit su node_type:node *;
     41   dontaudit su node_type:{ tcp_socket udp_socket rawip_socket } *;
     42   dontaudit su netif_type:netif *;
     43   dontaudit su port_type:socket_class_set *;
     44   dontaudit su port_type:{ tcp_socket dccp_socket } *;
     45   dontaudit su domain:peer *;
     46   dontaudit su domain:binder *;
     47   dontaudit su property_type:property_service *;
     48   dontaudit su service_manager_type:service_manager *;
     49   dontaudit su keystore:keystore_key *;
     50   dontaudit su domain:debuggerd *;
     51   dontaudit su domain:drmservice *;
     52   dontaudit su unlabeled:filesystem *;
     53 ')
     54