path: root/init
diff options
authorTom Cherry2018-06-20 12:21:37 -0500
committerTom Cherry2018-06-20 12:21:37 -0500
commit47111aee401300f36b856a8fedca57277172aee3 (patch)
treefc6c78b1dc25d997f9bfad2b9b46c6ba3a66cfe6 /init
parent28a3160c077446719fe9c95e0a0730689e8e44ad (diff)
init: document what host init verifier checks
Bug: 36970783 Test: n/a Change-Id: Ic42a55d7b5bb4fec364ac3b5d9a67bcd38cbcc8d
Diffstat (limited to 'init')
1 files changed, 19 insertions, 0 deletions
diff --git a/init/ b/init/
index 550ef0582..b0a73b946 100644
--- a/init/
+++ b/init/
@@ -752,3 +752,22 @@ Below is an example of doing the same but with strace
752 kill -SIGCONT 4343 752 kill -SIGCONT 4343
753 753
754 > strace runs 754 > strace runs
756Host Init Script Verification
759Init scripts are checked for correctness during build time. Specifically the below is checked.
7611) Well formatted action, service and import sections, e.g. no actions without a preceding 'on'
762line, and no extraneous lines after an 'import' statement.
7632) All commands map to a valid keyword and the argument count is within the correct range.
7643) All service options are valid. This is stricter than how commands are checked as the service
765options' arguments are fully parsed, e.g. UIDs and GIDs must resolve.
767There are other parts of init scripts that are only parsed at runtime and therefore not checked
768during build time, among them are the below.
7701) The validity of the arguments of commands, e.g. no checking if file paths actually exist, if
771SELinux would permit the operation, or if the UIDs and GIDs resolve.
7722) No checking if a service exists or has a valid SELinux domain defined
7733) No checking if a service has not been previously defined in a different init script.