Pull in any patches that have landed here: https://android-review.googlesource.com/#/q/project:platform/system/tpm Unfortunately these will depend on the libchrome uprev: https://chromium-review.googlesource.com/#/c/348983/2
The following revision refers to this bug: https://chromium.googlesource.com/aosp/platform/system/tpm/+/6d6840685032c859dc5091e7d50c23162e4cc957 commit 6d6840685032c859dc5091e7d50c23162e4cc957 Author: Darren Krahn <dkrahn@google.com> Date: Thu May 26 17:03:29 2016 trunks: Fixes and enhancements to support tpm_manager on brillo - Enhanced NV utility methods - Support PolicyRestart for policy sessions - Support for read/extend PCR from trunks_client - Cleanup scoped_ptr -> std::unique_ptr and other cleanup - More robust factory semantics - Support for setting dictionary attack parameters BUG=b:25360511 BUG= chromium:621617 TEST=builds on AOSP and chromiumos, unit tests, manual tests Change-Id: I34fff802c0983b34e6d1ed082cb85ce57f08a54d Reviewed-on: https://chromium-review.googlesource.com/355631 Commit-Ready: Darren Krahn <dkrahn@chromium.org> Tested-by: Darren Krahn <dkrahn@chromium.org> Reviewed-by: Andrey Pronin <apronin@chromium.org> [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/trunks_factory_for_test.cc [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/tpm_simulator_handle.cc [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/Android.mk [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/trunks_client_test.h [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/resource_manager.cc [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/tpm_utility_test.cc [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/trunksd.cc [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/generator/generator.py [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/mock_tpm_utility.h [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/policy_session_impl.h [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/policy_session_impl.cc [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/trunks_factory_impl.cc [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/trunksd.rc [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/tpm_utility.h [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/tpm_utility_impl.h [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/mock_policy_session.h [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/tpm_generated.h [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/session_manager.h [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/trunks_factory.h [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/trunks_factory_impl.h [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/trunks_client_test.cc [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/trunks_factory_for_test.h [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/tpm_constants.h [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/trunks_client.cc [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/policy_session.h [modify] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/trunks/tpm_utility_impl.cc
The following revision refers to this bug: https://chromium.googlesource.com/aosp/platform/system/tpm/+/2610fa1d980142c67cbf3b2e67d351c4a41e4f06 commit 2610fa1d980142c67cbf3b2e67d351c4a41e4f06 Author: Darren Krahn <dkrahn@google.com> Date: Mon Jun 06 20:57:33 2016 trunks: Refactored TpmState. Also fixed seccomp rules and unit tests. BUG=23525508 BUG= chromium:621617 TEST=Run unit and manual tests on brillo emulator. Change-Id: I2b8a0993d03e4b23f10b3d218ceb8d7d5e603952 Reviewed-on: https://chromium-review.googlesource.com/355681 Commit-Ready: Darren Krahn <dkrahn@chromium.org> Tested-by: Darren Krahn <dkrahn@chromium.org> Reviewed-by: Andrey Pronin <apronin@chromium.org> [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/trunksd-seccomp-mips.policy [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/trunksd-seccomp-arm.policy [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/trunks_factory_for_test.cc [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/trunksd-seccomp-x86_64.policy [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/Android.mk [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/trunksd-seccomp-x86.policy [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/error_codes.h [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/trunksd-seccomp-amd64.policy [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/trunksd-seccomp-arm64.policy [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/mock_tpm_state.cc [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/tpm_state_test.cc [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/tpm_state.h [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/tpm_state_impl.cc [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/mock_tpm_state.h [modify] https://crrev.com/2610fa1d980142c67cbf3b2e67d351c4a41e4f06/trunks/tpm_state_impl.h
The following revision refers to this bug: https://chromium.googlesource.com/aosp/platform/system/tpm/+/23b3acc0b2079e99c9812fe2e393c89e49ce3cde commit 23b3acc0b2079e99c9812fe2e393c89e49ce3cde Author: Darren Krahn <dkrahn@google.com> Date: Thu May 26 17:13:07 2016 tpm_manager: Port to brillo and enhance NVRAM interface. This CL includes a set of changes required to run tpm_manager on Brillo. - Android.mk - Abstract IPC mechanism and add support for binder - Combine protobufs into a single file - Enhance the NVRAM interface for Brillo - Rewrite the NVRAM implementation to be flexible enough for the new interface - Enhance the tpm_manager_client for the new NVRAM interface - Implement TPM 2.0 initialization logic that was missing - General cleanup, including scoped_ptr -> std::unique_ptr BUG=b:25360511 BUG= chromium:621617 TEST=builds on Brillo and ChromiumOS, unit tests, manual tests Change-Id: Ib9c41c75f570187d60399639bd539d6a107ef944 Reviewed-on: https://chromium-review.googlesource.com/355680 Commit-Ready: Darren Krahn <dkrahn@chromium.org> Tested-by: Darren Krahn <dkrahn@chromium.org> Reviewed-by: Andrey Pronin <apronin@chromium.org> [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/dbus_service_test.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/mock_tpm_initializer.h [delete] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/tpm_manager/common/print_tpm_nvram_interface_proto.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_manager_service.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm2_initializer_impl.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm2_initializer_test.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_nvram_impl.cc [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/binder_service.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/client/tpm_nvram_dbus_proxy_test.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_initializer.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/common/tpm_nvram_interface.h [rename] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_managerd-seccomp-x86.policy [delete] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/tpm_manager/common/print_tpm_ownership_interface_proto.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm2_nvram_test.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/org.chromium.TpmManager.conf [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/client/tpm_nvram_dbus_proxy.h [delete] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/tpm_manager/common/print_tpm_ownership_interface_proto.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm2_status_test.cc [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/client/tpm_ownership_binder_proxy.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/client/tpm_nvram_dbus_proxy.cc [delete] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/tpm_manager/common/print_tpm_nvram_interface_proto.h [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/binder_service_test.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_managerd.conf [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/binder_service.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/dbus_service.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_manager_service.cc [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/client/binder_proxy_helper.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/mock_tpm_nvram.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/tpm_manager.gyp [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/client/main.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_connection.h [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/aidl/android/tpm_manager/ITpmOwnership.aidl [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/common/mock_tpm_nvram_interface.h [delete] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/tpm_manager/common/tpm_manager_status.proto [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/common/print_tpm_manager_proto.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/dbus_service.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/mock_tpm_initializer.cc [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/common/tpm_manager.proto [delete] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/tpm_manager/common/print_local_data_proto.h [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/common/print_tpm_manager_proto.cc [rename] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_managerd-seccomp-arm.policy [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/common/tpm_ownership_interface.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/common/tpm_manager_constants.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_initializer_impl.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_initializer_impl.cc [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_managerd.rc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm2_nvram_impl.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_connection.cc [delete] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/tpm_manager/common/print_local_data_proto.cc [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/aidl/android/tpm_manager/ITpmNvram.aidl [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/client/tpm_nvram_binder_proxy.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_nvram_impl.h [delete] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/tpm_manager/common/print_tpm_manager_status_proto.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/mock_local_data_store.cc [rename] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_managerd-seccomp-amd64.policy [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/aidl/android/tpm_manager/ITpmManagerClient.aidl [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/local_data_store_impl.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/main.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm2_initializer_impl.cc [delete] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/tpm_manager/common/print_tpm_manager_status_proto.h [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/Android.mk [delete] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/tpm_manager/common/tpm_ownership_interface.proto [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm2_nvram_impl.cc [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/client/tpm_nvram_binder_proxy.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/mock_local_data_store.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_nvram.h [delete] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/tpm_manager/common/local_data.proto [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm2_status_impl.cc [delete] https://crrev.com/6d6840685032c859dc5091e7d50c23162e4cc957/tpm_manager/common/tpm_nvram_interface.proto [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/mock_tpm_nvram.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/local_data_store.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/common/tpm_nvram_dbus_interface.h [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm_manager_service_test.cc [add] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/client/tpm_ownership_binder_proxy.cc [modify] https://crrev.com/23b3acc0b2079e99c9812fe2e393c89e49ce3cde/tpm_manager/server/tpm2_status_impl.h
The following revision refers to this bug: https://chromium.googlesource.com/aosp/platform/system/tpm/+/666153bfcd2c5cc5de6e06fb68c57d5007cf5c30 commit 666153bfcd2c5cc5de6e06fb68c57d5007cf5c30 Author: Andrey Pronin <apronin@google.com> Date: Sat Jun 25 01:16:49 2016 tpm_manager: fix building protobufs library Fix .gyp file after the protobufs were combined into a single file by https://chromium-review.googlesource.com/#/c/355680/. BUG= chromium:621617 TEST=emerge-$board tpm_manager Change-Id: I682927e964e609f18d20753a010d47e771941e73 Reviewed-on: https://chromium-review.googlesource.com/356213 Commit-Ready: Andrey Pronin <apronin@chromium.org> Tested-by: Andrey Pronin <apronin@chromium.org> Reviewed-by: Darren Krahn <dkrahn@chromium.org> [modify] https://crrev.com/666153bfcd2c5cc5de6e06fb68c57d5007cf5c30/tpm_manager/tpm_manager.gyp
Bulk verified
Comment 1 by bugdroid1@chromium.org
, Jun 24 2016