type irqbalance, domain;
type irqbalance_exec, exec_type, file_type;

init_daemon_domain(irqbalance);

allow irqbalance self:capability { setgid setuid };

allow irqbalance sysfs_devices_system_cpu:file rw_file_perms;
allow irqbalance proc_irq:dir r_dir_perms;
allow irqbalance proc_irq:file rw_file_perms;

r_dir_file(irqbalance, proc)