# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

description "Runs a daemon which collects and reports kernel log anomalies"
author      "chromium-os-dev@chromium.org"

start on started system-services
stop on stopping system-services
respawn
expect fork

env TESTONLY_SEND_ALL
import TESTONLY_SEND_ALL

# Allow us to be killed as we are not critical to the system.  If we have a
# leak, better to crash & restart than to OOM-panic the system.
oom score -100
# Let the daemon crash if it grows too much.  "as" is "address space" (vm
# size).  Since anomaly_detector maps in the journal files which are currently
# limited to 200MiB in size, we set the limit to three times that for safety.
# The VM size of the daemon when it's not mapping in journals is about 30MiB,
# so it fits well within this limit.
limit as 600000000 unlimited

# /dev/log: We use syslog for error messages.
# /var/log: We monitor /var/log/messages for anomalies.  But we can't bind mount
#   that path directly because it gets rotated.
# /var/spool: We write out our crash reports here.
#   TODO: We should mount just /var/spool/crash.
# /var/lib/metrics: We write out uma stats directly.
# /sys: Some kernel detectors will read PCI device information.
# /run/crash_reporter: We need to indicate runtime state.
# /run/dbus: We need to talk to dbus.
# /home/chronos: crash_reporter running inside this minijail needs to read user
#   consent of error collection.
# /var/lib/devicesettings: crash_reporter needs to read device policy file.
exec /sbin/minijail0 \
  -T static \
  --profile=minimalistic-mountns \
  -i -N -p -v -r --uts -l -g syslog \
  --mount-dev -b /dev/log \
  -b /sys \
  -k '/var,/var,tmpfs,MS_NODEV|MS_NOEXEC|MS_NOSUID,mode=755,size=10M' \
  -b /var/log -b /var/spool,,1 -b /var/lib/metrics,,1 \
  -b /var/lib/devicesettings \
  -k '/run,/run,tmpfs,MS_NODEV|MS_NOEXEC|MS_NOSUID,mode=755,size=10M' \
  -b /run/crash_reporter,,1 \
  -b /run/dbus \
  -b /home/chronos \
  -- /usr/bin/anomaly_detector $TESTONLY_SEND_ALL
