# Support asec containers getting mounted
allow file_type rootfs:filesystem associate;

type auditd_log, file_type, data_file_type;

# Performance settings
type sysfs_devices_system_iosched, file_type, sysfs_type;

# Recovery's "cache"
type recovery_cache_file, file_type, mlstrustedobject;
