# File types must be defined for file_contexts. type su_exec, exec_type, file_type; userdebug_or_eng(` # Domain used for su processes, as well as for adbd and adb shell # after performing an adb root command. The domain definition is # wrapped to ensure that it does not exist at all on -user builds. type su, domain; domain_auto_trans(shell, su_exec, su) # Allow dumpstate to call su on userdebug / eng builds to collect # additional information. domain_auto_trans(dumpstate, su_exec, su) # su is unconfined. unconfined_domain(su) allow su ashmem_device:chr_file execute; allow su self:process execmem; tmpfs_domain(su) allow su su_tmpfs:file execute; allow su debuggerd_prop:property_service set; # su is also permissive to permit setenforce. permissive su; ')