# Whitelist /home to be exempt from the policy that blocks opening of FIFOs on
# the stateful file system. FIFOs are used legitimately by Android in /data,
# which resides under /home. For example, java.io.tmpdir is expected to support
# FIFOs, and is set by the Android framework to use
# /data/user/0/<package_name>/cache/. Current functionality only supports
# adding exceptions during chromeos_startup (before user login), and thus does
# not allow for adding an exception in a more specific part of the file system
# (i.e. under /home/root/${HASH}/android-data/data).
/home
