History log of /external/vboot_reference/firmware/stub/tpm_lite_stub.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0c3ba249abb1dc60f5ebabccf84ff13206440b83 29-Mar-2013 Bill Richardson <wfrichar@chromium.org> Massive refactoring of external header files.

This reduces the number of exported header files to the minimum needed by
the existing userspace utilities and firmware implementations.

BUG=chromium:221544
BRANCH=none
TEST=manual, trybots
CQ-DEPEND=CL:47019,CL:47022,CL:47023

sudo FEATURES=test emerge vboot_reference
FEATURES=test emerge-$BOARD \
vboot_reference \
chromeos-cryptohome \
chromeos-installer \
chromeos-u-boot \
peach-u-boot \
depthcharge

Change-Id: I2946cc2dbaf5459a6c5eca92ca57d546498e6d85
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/47021
Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
ac8805e7e9bd40c03baf44e37b26f28d9b763ab5 16-Mar-2013 Gabe Black <gabeblack@chromium.org> Get rid of some crufty macros.

These were macros that were never used, or that were only set to one thing and
could be substituted up front.

I left in code guarded by the HAVE_ENDIAN_H and HAVE_LITTLE_ENDIAN macros even
though those are never defined because they guard a reportedly significantly
faster implementation of some functionality, at least according to a comment
in the source. It would be a good idea to enable that code path and see if it
really does make a big difference before removing it entirely.

BUG=None
TEST=Built for Link, Daisy, and the host with FEATURES=test. Built depthcharge
for Link and booted in normal mode.
BRANCH=None

Change-Id: I934a4dd0da169ac018ba07350d56924ab88b1acc
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/45687
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Commit-Queue: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
dd7a7743440846d706583bc2db9317ef1bbf3d45 11-Dec-2012 Kees Cook <keescook@chromium.org> tlcl: move open retry into Tlcl

Make sure all Tlcl users benefit from the new retry logic.

BUG=None
TEST=daisy build, manual testing of racing tpmc loops
BRANCH=None

Change-Id: I8e9656a65b5d6b45694c1c8bceb95f54f7c751bb
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/39525
Reviewed-by: Luigi Semenzato <semenzato@chromium.org>
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
00cc72894f3ce5c3b0d337e424f19da089140237 28-Nov-2012 Kees Cook <keescook@chromium.org> Tlcl: allow OS failures to bubble up to caller

If there were any errors communicating with the TPM at the OS layer
(open, read, write failures), the library would immediately exit, not
allowing the caller to make any decisions about how to handle it. This
introduces a way to initialize the library so that errors will get passed
back up to the caller instead of unceremoniously exiting.

Setting the environment variable "TPM_NO_EXIT=1" enables the feature. To
avoid needing to implement supporting functions in all backends, the
feature is currently limited to just the Tlcl stub implementation.

In the case of mount-encrypted, it can now survive the kernel returning
read/write failures. In the past it had only worked around having open
fail, but that has now been replaced with more sensible logic instead of
the environment variable trickiness.

BUG=chrome-os-partner:15960
TEST=daisy built with an always-failing kernel driver, u-boot builds too
BRANCH=None

Change-Id: Ic7b217017537980f9c239d678067398613045676
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/38791
Reviewed-by: Luigi Semenzato <semenzato@chromium.org>
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
1b1998dff0002f20b3f27a21e6e79d8951e64684 02-Jul-2011 Randall Spangler <rspangler@chromium.org> Vboot wrapper initial implementation

Patch 1: Initial change
Patch 2: Fix comment in vboot_struct.h
Patch 3: Revert files unintentionally reverted
Patch 4: (rebase)
Patch 5: (rebase)
Patch 6: Revert files unintentionally reverted (again)
Patch 7: Fix mocked tlcl for ARM build

BUG=chromium-os:17010
TEST=make && make runtests; works on H2C; emerge-tegra2_seaboard chromeos-bootimage compiles

Change-Id: I6e5ce72d41b9297c07a3f330a881eba68cfabee2
Reviewed-on: http://gerrit.chromium.org/gerrit/3593
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Tested-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
e49e8af65fce38da7a308305566f8a14f102254a 08-Jul-2011 Randall Spangler <rspangler@chromium.org> Port vboot_reference to use new wrapper API utility functions

Third time's the charm. Now that we've moved to u-boot-next, this
won't break the ARM build.

BUG=chromium-os:17006
TEST=make && make runtests; emerge vboot_reference; emerge-tegra2_seaboard chromeos-bootimage

Change-Id: Ib4fa26c7a23868dd2ffd2b321ee8dc08c66ea322
Original-Change-Id: I771085dcdf79d9592de64f35e3b758111a80dd9f
Original-Reviewed-on: http://gerrit.chromium.org/gerrit/3263
Original-Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-on: http://gerrit.chromium.org/gerrit/3803
Tested-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
cfd841d3c2c8bb91e7024c62d0acc8668c5041b3 02-Jul-2011 Randall Spangler <rspangler@chromium.org> Revert "Verified boot wrapper - replace utility functions"

This reverts commit 0184886c8cb35e8e01d610622df448a7cb063e06

(This works with uboot-next, but not uboot, which doesn't implement its half of the new wrapper API. So rolling back to leave uboot working.

Change-Id: I1f9e3c63e5bbdb20b9195cd68787bef89f24afee
Reviewed-on: http://gerrit.chromium.org/gerrit/3588
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Tested-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
f8c65491595a8e849cf61b600b2371357ec75ff4 27-Jun-2011 Randall Spangler <rspangler@chromium.org> Verified boot wrapper - replace utility functions

This is part 3 of the vboot wrapper API refactoring. It replaces the
function calls to utility.c functions with new API calls. (It also
fixes up some integer type mismatches in cryptolib that were causing
warnings on the H2C build; those had been fixed a while ago in H2C but
hadn't been propagated across.)

This is a re-commit of the original; I've verified it compiles on both
x86-alex and tegra2, for both vboot_reference and
vboot_reference-firmware, now that the patch from
1c1a883bc746a6216bb634825d33d80562853020 is checked in.

BUG=chromium-os:17006
TEST=make && make runtests, and emerged on both x86-alex and tegra2

Original-Change-Id: I771085dcdf79d9592de64f35e3b758111a80dd9f
Original-Reviewed-on: http://gerrit.chromium.org/gerrit/3263
Original-Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Randall Spangler <rspangler@chromium.org>
(cherry picked from commit bd81b3a7d3b7fe4ca6179ade665e565800ab17fc)

Change-Id: Iefdbfb3d10eb9aa385fb6dfc3bf0896f637cb64b
Reviewed-on: http://gerrit.chromium.org/gerrit/3582
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Tested-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
a7b9481f343fb4a19b5a5ed44c2fda2c59547e84 28-Jun-2011 mukesh agrawal <quiche@chromium.org> Revert "Verified boot wrapper - replace utility functions"

This reverts commit bd81b3a7d3b7fe4ca6179ade665e565800ab17fc.

Change-Id: I2be2c076a37bf0e49569248691fceac417254f0b
Reviewed-on: http://gerrit.chromium.org/gerrit/3295
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
bd81b3a7d3b7fe4ca6179ade665e565800ab17fc 27-Jun-2011 Randall Spangler <rspangler@chromium.org> Verified boot wrapper - replace utility functions

This is part 3 of the vboot wrapper API refactoring. It replaces the
function calls to utility.c functions with new API calls. (It also
fixes up some integer type mismatches in cryptolib that were causing
warnings on the H2C build; those had been fixed a while ago in H2C but
hadn't been propagated across.)

BUG=chromium-os:17006
TEST=make && make runtests

Change-Id: I771085dcdf79d9592de64f35e3b758111a80dd9f
Reviewed-on: http://gerrit.chromium.org/gerrit/3263
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
c76136cd0de548a2b8a2fc9c8efd2466d0922319 24-Jun-2011 Luigi Semenzato <semenzato@chromium.org> Produce better error message when TPM device cannot be opened.

BUG=chromium-os:16925
TEST=run "tpmc getvf" before stopping tcsd and observe that the error message no longer says "forgot to call TlclLibInit()"

Change-Id: I867c010c07286c0aa4cec49dda60524de1c2bec1
Reviewed-on: http://gerrit.chromium.org/gerrit/3147
Tested-by: Luigi Semenzato <semenzato@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
4395b699c13bcce3f4152cc0f6f5cef9817d2537 10-May-2011 Bill Richardson <wfrichar@chromium.org> Address compiler warnings (errors) for gcc-4.6

BUG=chromium-os:15043
TEST=manual

Change-Id: If6499d9453fd6f754d04076d0e2b6fd25fc636e5
Reviewed-on: http://gerrit.chromium.org/gerrit/562
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Tested-by: Bill Richardson <wfrichar@chromium.org>
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
5d9509cbdee7b9c8dd91ed47d967569dbb9af83d 16-Dec-2010 Che-Liang Chiou <clchiou@chromium.org> vboot TPM stub functions return error codes

TlclStubInit, TlclCloseDevice, and TlclOpenDevice were void functions but
should return error codes.

BUG=chromium-os:6695
TEST=RUNTESTS=1 make && emerge successfully

Review URL: http://codereview.chromium.org/5796005

Change-Id: I8ddbf8b1f080d98ff6ed42c4a675fbda5b17eef1
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
a222fbc00eb470c104602be262b97c9c8c7be7a2 30-Sep-2010 vbendeb <vbendeb@chromium.org> Fix test suite deficiencies.

While trying to debug/test some vbutil_kernel changes
(coming in a different CL) it was noticed that this utility
is not covered by tests, and the script which runs it to set
up further testing (tests/gen_fuzz_test_cases.sh) fails
because of the key format mismatch.

Some investigation has shown that this was left behind when
vboot_reference key storage format was changed.

To make gen_fuzz_test_cases.sh work again a new set of test
keys is required, the keys are generated by
tests/gen_test_keys.sh. This utility had to be changed to
generate the proper set of wrapped public and private keys.

Actually code in tests/gen_test_keys.shgenerate_keys() is
copied in pasted in many scripts in this tree, this has to
be refactored, but under a different CL.

Once the changes were made, two scripts were run:
./tests/gen_test_keys.sh
./gen_test_cases.sh

resulting in the new and updated keys generated.

firmware/stub/tpm_lite_stub.c was edited to fix compilation
warning issued when compiling with debugging enabled.

Change-Id: I26a45cbad00d21a29195f2a89b4df7d3559133fe

BUG=chromium-os:7178
TEST=described below

The following commands succeed:

vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
make
make runtests
./tests/gen_fuzz_test_cases.sh
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

note that ./tests/gen_fuzz_test_cases.sh was failing
before this change.

The upcoming CL modifying vbutil_kernel will make sure
gen_fuzz_test_cases.sh is executed when tests are run and
will enhance it to cover vbutil_kernel testing.

Review URL: http://codereview.chromium.org/3423022
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
1fe1607679a17a37ab6be390e2f04155e5c37e8e 02-Sep-2010 Randall Spangler <rspangler@chromium.org> TBR: reviewed in person with semenzato
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
89a02c194f1b6da0de7f98784d85e6827c3a1aec 01-Sep-2010 Luigi Semenzato <semenzato@google.com> Make TPM datagrams const, since they cannot be modified in the RO firmware.

Change-Id: I7f135584536c7437824ae65f74a8f7ef27c28665

BUG=
TEST=

Review URL: http://codereview.chromium.org/3271006
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
5896b9664d088699e246de964a7c374af663a34e 25-Aug-2010 Luigi Semenzato <semenzato@google.com> Added new commands and reactivated full rebuild after fixing for ARM ebuild.

Review URL: http://codereview.chromium.org/3116025

Change-Id: Ideb82562f6b1c3ce5cd9e0b79de250d0a7bd976e
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
205190d4ae8080298d9d1b580dd95c885f2af42c 06-Aug-2010 Randall Spangler <rspangler@chromium.org> Pay attention to TPM communication errors

BUG=none
TEST=make && make runtests

Review URL: http://codereview.chromium.org/3078028
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
f37fdf56fd0d0306d1ea2a1238424e6cd13134a1 05-Aug-2010 Luigi Semenzato <semenzato@google.com> Allow passing TPM device path in the environment.

Review URL: http://codereview.chromium.org/3032055
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
50d48feb9e0df6a990cc5890ce14e1398798eeb1 04-Aug-2010 Luigi Semenzato <semenzato@google.com> Various bug fixes to tpm_lite. Some changes to the test suite.

Review URL: http://codereview.chromium.org/3091004
/external/vboot_reference/firmware/stub/tpm_lite_stub.c
39f66114c03639715cb88774255f066a2d942557 14-Jul-2010 Randall Spangler <rspangler@chromium.org> Add tpm lite to vboot reference

Review URL: http://codereview.chromium.org/2919010
/external/vboot_reference/firmware/stub/tpm_lite_stub.c