blob: 900d403f244690ca28563d116ba5104cd78103c7 [file] [log] [blame]
Mark Salyzyne4b3e0b2018-02-20 11:02:39 -08001# llkd Live LocK Daemon
2typeattribute llkd coredomain;
3
4init_daemon_domain(llkd)
5
Mark Salyzyn275ea122018-08-07 16:03:47 -07006get_prop(llkd, llkd_prop)
7
Mark Salyzyne4b3e0b2018-02-20 11:02:39 -08008allow llkd self:global_capability_class_set kill;
Mark Salyzyn275ea122018-08-07 16:03:47 -07009userdebug_or_eng(`
10 allow llkd self:global_capability_class_set sys_ptrace;
11 allow llkd self:global_capability_class_set dac_override;
12')
Mark Salyzyne4b3e0b2018-02-20 11:02:39 -080013
14# llkd optionally locks itself in memory, to prevent it from being
15# swapped out and unable to discover a kernel in live-lock state.
16allow llkd self:global_capability_class_set ipc_lock;
17
18# Send kill signals to _anyone_ suffering from Live Lock
19allow llkd domain:process sigkill;
20
Mark Salyzyn275ea122018-08-07 16:03:47 -070021# read stack to check for Live Lock
22userdebug_or_eng(`
23 allow llkd {
24 domain
Nick Kralevich095fbea2018-09-13 11:07:14 -070025 -kernel
Mark Salyzyn275ea122018-08-07 16:03:47 -070026 -keystore
27 -init
28 -llkd
Nick Kralevich095fbea2018-09-13 11:07:14 -070029 -ueventd
30 -vendor_init
Mark Salyzyn275ea122018-08-07 16:03:47 -070031 }:process ptrace;
32')
33
Mark Salyzyne4b3e0b2018-02-20 11:02:39 -080034# live lock watchdog process allowed to look through /proc/
35allow llkd domain:dir r_dir_perms;
36allow llkd domain:file r_file_perms;
37allow llkd domain:lnk_file read;
38# Set /proc/sys/kernel/hung_task_*
39allow llkd proc_hung_task:file rw_file_perms;
40
41# live lock watchdog process allowed to dump process trace and
42# reboot because orderly shutdown may not be possible.
43allow llkd proc_sysrq:file w_file_perms;
44allow llkd kmsg_device:chr_file w_file_perms;
45
46### neverallow rules
47
48neverallow { domain -init } llkd:process { dyntransition transition };
Mark Salyzyn275ea122018-08-07 16:03:47 -070049neverallow { domain userdebug_or_eng(`-crash_dump') } llkd:process ptrace;
Mark Salyzyne4b3e0b2018-02-20 11:02:39 -080050
51# never honor LD_PRELOAD
52neverallow * llkd:process noatsecure;