116fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn# android recovery refresh log manager 216fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyntype recovery_refresh, domain; 316fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyntype recovery_refresh_exec, exec_type, file_type; 416fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn 516fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzynallow recovery_refresh pstorefs:dir search; 616fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzynallow recovery_refresh pstorefs:file r_file_perms; 716fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn# NB: domain inherits write_logd which hands us write to pmsg_device 816fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn 916fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn### 1016fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn### Neverallow rules 1116fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn### 1216fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn### recovery_refresh should NEVER do any of this 1316fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn 1416fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn# Block device access. 1516fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzynneverallow recovery_refresh dev_type:blk_file { read write }; 1616fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn 1716fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn# ptrace any other app 1816fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzynneverallow recovery_refresh domain:process ptrace; 1916fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn 2016fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn# Write to /system. 2116fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzynneverallow recovery_refresh system_file:dir_file_class_set write; 2216fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn 2316fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzyn# Write to files in /data/data or system files on /data 2416fe52c90caae18c0d91918d6bfc471f2e637207Mark Salyzynneverallow recovery_refresh { app_data_file system_data_file }:dir_file_class_set write; 25