blob: 54c6d049b96183ec5b2d1c3400e44d11e15d3e8b [file] [log] [blame]
Mark Salyzyne4b3e0b2018-02-20 11:02:39 -08001# llkd Live LocK Daemon
2typeattribute llkd coredomain;
3
4init_daemon_domain(llkd)
5
6allow llkd self:global_capability_class_set kill;
7
8# llkd optionally locks itself in memory, to prevent it from being
9# swapped out and unable to discover a kernel in live-lock state.
10allow llkd self:global_capability_class_set ipc_lock;
11
12# Send kill signals to _anyone_ suffering from Live Lock
13allow llkd domain:process sigkill;
14
15# live lock watchdog process allowed to look through /proc/
16allow llkd domain:dir r_dir_perms;
17allow llkd domain:file r_file_perms;
18allow llkd domain:lnk_file read;
19# Set /proc/sys/kernel/hung_task_*
20allow llkd proc_hung_task:file rw_file_perms;
21
22# live lock watchdog process allowed to dump process trace and
23# reboot because orderly shutdown may not be possible.
24allow llkd proc_sysrq:file w_file_perms;
25allow llkd kmsg_device:chr_file w_file_perms;
26
27### neverallow rules
28
29neverallow { domain -init } llkd:process { dyntransition transition };
30
31# never honor LD_PRELOAD
32neverallow * llkd:process noatsecure;