hooks: oom_score: Remove false positive message

Message "Please remove ${package}from known_bad_oom" would be printed
even when the ${package} still have .conf files with oom score line
missing.
Fix return logic in check_oom() to always return 1 on missing score line
and adapt test in check() accordingly.

BUG=b:205304293
TEST=Check with chromeos-init the message is not printed anymore.
Remove chromeos-init for known bad oom list and observe error.

Change-Id: I0f15b870dd19cd6d805ae7b2b3a9843e79586c57
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosutils/+/3264358
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Gwendal Grignou <gwendal@chromium.org>
Commit-Queue: Gwendal Grignou <gwendal@chromium.org>
diff --git a/hooks/install/check-upstart-scripts.sh b/hooks/install/check-upstart-scripts.sh
index 20637a4..f69cd3a 100755
--- a/hooks/install/check-upstart-scripts.sh
+++ b/hooks/install/check-upstart-scripts.sh
@@ -242,8 +242,8 @@
       eqawarn "${msg}"
     else
       eerror "${msg}"
-      return 1
     fi
+    return 1
   else
     if grep -q '^oom score *-1000' "${config}"; then
       eerror "${relconfig}: Use 'oom score never' instead."
@@ -267,13 +267,14 @@
     : $(( ret_oom += $? ))
   done
 
-  if [[ ${ret_oom} -eq 0 ]] && known_bad_oom; then
-    eqawarn "Please remove ${CATEGORY}/${PN} from known_bad_oom in $0."
-  fi
-
-  local ret=$(( ret_oom ))
-  if [[ ${ret} -ne 0 ]]; then
-    die "Init scripts have errors."
+  if [[ ${ret_oom} -eq 0 ]]; then
+    if known_bad_oom; then
+      eqawarn "Please remove ${CATEGORY}/${PN} from known_bad_oom in $0."
+    fi
+  else
+    if ! known_bad_oom; then
+      die "Init scripts have errors."
+    fi
   fi
 }