ImageLoader should support the ability to mount images on-demand, at run time, as a dbus service. To do this, it must spawn into a privileged helper process which has mounting ability.
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/imageloader/+/9f45b2c30e74881710b67ad7666684e438164235 commit 9f45b2c30e74881710b67ad7666684e438164235 Author: Greg Kerr <kerrnel@chromium.org> Date: Tue Jan 10 01:00:06 2017 Refactor the imageloader dbus service to use the brillo bindings. This refactors the imageloader dbus service to use the brillo bindings, instead of the dbus-c++ bindings. Once the service uses brillo interfaces, it can be easily made to support a privileged helper process. CQ-DEPEND=CL:430953 BUG= chromium:682968 TEST=emerge-${BOARD} imageloader Change-Id: I7e3355934a1f2d28aa84e9b7ebbad03dfce1311d Reviewed-on: https://chromium-review.googlesource.com/430269 Commit-Ready: Greg Kerr <kerrnel@chromium.org> Tested-by: Greg Kerr <kerrnel@chromium.org> Reviewed-by: Greg Kerr <kerrnel@chromium.org> [rename] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/seccomp/imageloader-seccomp-x86.policy [modify] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/imageloader_wrapper [modify] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/.presubmitignore [rename] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/seccomp/imageloader-seccomp-amd64.policy [delete] https://crrev.com/11ce3548af878bc6f53be7f85d497550bca52961/imageloadclient.h [delete] https://crrev.com/11ce3548af878bc6f53be7f85d497550bca52961/imageloadclient-glue.xml [delete] https://crrev.com/11ce3548af878bc6f53be7f85d497550bca52961/imageloadclient.cc [modify] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/imageloader_main.cc [rename] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/dbus_service/org.chromium.ImageLoader.service [rename] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/dbus_permissions/org.chromium.ImageLoader.conf [rename] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/seccomp/imageloader-seccomp-arm.policy [add] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/imageloader.cc [add] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/dbus_adaptors/org.chromium.ImageLoaderInterface.xml [delete] https://crrev.com/11ce3548af878bc6f53be7f85d497550bca52961/imageloader_common.h [add] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/dbus_adaptors/dbus-service-config.json [modify] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/imageloader.gyp [delete] https://crrev.com/11ce3548af878bc6f53be7f85d497550bca52961/imageloader_common.cc [modify] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/imageloader.h [modify] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/imageloader_impl.cc [delete] https://crrev.com/11ce3548af878bc6f53be7f85d497550bca52961/imageloader-glue.xml [modify] https://crrev.com/9f45b2c30e74881710b67ad7666684e438164235/README.md
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/2300ab3f0c20a25866ad3aa44bc32ca9315bf2a0 commit 2300ab3f0c20a25866ad3aa44bc32ca9315bf2a0 Author: Greg Kerr <kerrnel@chromium.org> Date: Wed Dec 21 22:18:45 2016 imageloader: Update ebuild to install dbus files from new locations. This updates the imageloader ebuild to install the dbus files and seccomp filters from new locations. BUG= chromium:682968 CQ-DEPEND=CL:430269 TEST=emerge-${BOARD} imageloader Change-Id: I2e0d3f5dce1e5f3e58c3ab328f02d96387ad6923 Reviewed-on: https://chromium-review.googlesource.com/430953 Commit-Ready: Greg Kerr <kerrnel@chromium.org> Tested-by: Greg Kerr <kerrnel@chromium.org> Reviewed-by: Greg Kerr <kerrnel@chromium.org> Reviewed-by: Ilja H. Friedel <ihf@chromium.org> [modify] https://crrev.com/2300ab3f0c20a25866ad3aa44bc32ca9315bf2a0/chromeos-base/imageloader/imageloader-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/8958b7c3523ec0419684cf5bbaa7891fc36b360e commit 8958b7c3523ec0419684cf5bbaa7891fc36b360e Author: Greg Kerr <kerrnel@chromium.org> Date: Tue Feb 21 22:07:38 2017 platform_ImageLoader: Test runtime component loading. This adds tests for the dbus functionality to load components at runtime, instead of just on the command line. BUG= chromium:682968 CQ-DEPEND=CL:434126 TEST=test_that -b ${BOARD} platform_ImageLoaderServer Change-Id: Ib957c19ded0518476ba611b616cc56bb8c1668a7 Reviewed-on: https://chromium-review.googlesource.com/434191 Commit-Ready: Greg Kerr <kerrnel@chromium.org> Tested-by: Greg Kerr <kerrnel@chromium.org> Reviewed-by: Ilja H. Friedel <ihf@chromium.org> Reviewed-by: Eric Caruso <ejcaruso@chromium.org> [modify] https://crrev.com/8958b7c3523ec0419684cf5bbaa7891fc36b360e/client/site_tests/platform_ImageLoader/platform_ImageLoader.py
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/imageloader/+/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63 commit e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63 Author: Greg Kerr <kerrnel@chromium.org> Date: Tue Feb 21 22:07:37 2017 Use privileged helper process to mount images. Uses a privileged helper process to mount images, so that the untrusted data is only read by the non-root, sandboxed main process. BUG= chromium:682968 CQ-DEPEND=CL:434201 TEST=test_that -b ${BOARD} ${DUT_ip} platform_ImageLoaderServer Change-Id: I7aa12d998065c0c2c81628f23ed52505333b4e8c Reviewed-on: https://chromium-review.googlesource.com/434126 Commit-Ready: Greg Kerr <kerrnel@chromium.org> Tested-by: Greg Kerr <kerrnel@chromium.org> Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org> [add] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/mount_helper.h [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/dbus_permissions/org.chromium.ImageLoader.conf [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/imageloader_impl.h [add] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/seccomp/imageloader-helper-seccomp-amd64.policy [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/imageloader.h [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/imageloader_impl.cc [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/component_unittest.cc [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/component.cc [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/seccomp/imageloader-seccomp-amd64.policy [add] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/seccomp/imageloader-helper-seccomp-x86.policy [add] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/mount_helper.cc [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/imageloader_unittest.cc [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/component.h [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/.presubmitignore [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/imageloader.gyp [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/verity_mounter.cc [add] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/helper_process.cc [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/imageloader_main.cc [add] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/seccomp/imageloader-helper-seccomp-arm.policy [add] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/mock_helper_process.h [add] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/helper_process.h [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/imageloader.cc [modify] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/dbus_adaptors/org.chromium.ImageLoaderInterface.xml [add] https://crrev.com/e7e5b9bd38fbbf7058c0183e5d1d9bbe1588bc63/ipc.proto
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ca8f1efdcd536b4bb1d0fe2e20797cb898ebc132 commit ca8f1efdcd536b4bb1d0fe2e20797cb898ebc132 Author: Greg Kerr <kerrnel@chromium.org> Date: Tue Feb 21 22:07:37 2017 Install seccomp filter for imageloader privileged helper process. This installs the seccomp filter for the imageloader privileged helper process. BUG= chromium:682968 CQ-DEPEND=CL:434126 TEST=emerge-${BOARD} imageloader Change-Id: Ic1ca101640f0d53c35d5394f0f638fe64572696d Reviewed-on: https://chromium-review.googlesource.com/434201 Commit-Ready: Greg Kerr <kerrnel@chromium.org> Tested-by: Greg Kerr <kerrnel@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/ca8f1efdcd536b4bb1d0fe2e20797cb898ebc132/chromeos-base/imageloader/imageloader-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/imageloader/+/eac26041fd4d1d5c0328e529696ca82d353cb632 commit eac26041fd4d1d5c0328e529696ca82d353cb632 Author: Greg Kerr <kerrnel@chromium.org> Date: Thu Mar 02 02:42:18 2017 Remove spurious logging from imageloader. BUG= chromium:682968 TEST=FEATURES="test" emerge-${BOARD} imageloader Change-Id: Idc085c0838448338a0bd858e63cb9696f316f77f Reviewed-on: https://chromium-review.googlesource.com/448105 Commit-Ready: Greg Kerr <kerrnel@chromium.org> Tested-by: Greg Kerr <kerrnel@chromium.org> Reviewed-by: Ilja H. Friedel <ihf@chromium.org> [modify] https://crrev.com/eac26041fd4d1d5c0328e529696ca82d353cb632/verity_mounter.cc
Comment 1 by bugdroid1@chromium.org
, Jan 25 2017