pinweaver: add fuzzer Fuzzing result of pinweaver.c: Regions: 735 Missed Regions: 9 Cover: 98.78% Functions: 44 Missed Functions: 0 Executed: 100.00% Lines: 1311 Missed Lines: 13 Cover: 99.01% BUG=b:195016396 TEST=run fuzzer Change-Id: I7835f82a97c20fa381a9e121fb5e1ff80b09b499 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/pinweaver/+/3070728 Tested-by: Yi Chou <yich@google.com> Reviewed-by: Leo Lai <cylai@google.com> Reviewed-by: Andrey Pronin <apronin@chromium.org> Commit-Queue: Yi Chou <yich@google.com> Auto-Submit: Yi Chou <yich@google.com>
This directory contains reference PinWeaver code that can be used across implementation platforms.
It consists of:
pinweaver.h - PinWeaver embedded API definitionpinweaver.c - implementationpinweaver_eal.h - API for Environment Abstraction Layer (EAL) used by PinWeavereal/**/pinweaver_eal_types.hpinweaver_types.h - header that is shared by PinWeaver implementation and PinWeaver clients that call it through platform-specific interface.eal/ foldereal/cr50 - implementation for cr50pinweaver_eal_types.h - cr50-specific EAL API typespinweaver_eal.c - cr50 implementation of EALeal/tpm_storage - implementation for platforms that use TPM as PinWeaver data storagepinweaver_eal_types.h - TPM-storage-specific EAL API typespinweaver_eal_tpm.h - additional EAL functions required by TPM storagepinweaver_eal_linux.c - implementation of non-storage EAL methods for Linux casetpm_storage_stubs.c - empty implementation of storage EAL methodstpm_storage.c - implementation of storage EAL methods on top of TSSmini_trunks/ - mini-TSS (TPM client software stack) used by TPM storage implementationpinweaver_eal.h + pinweaver_eal_tpm.h EAL methodstss.h + *authorization_delegate.hA platform implementation that uses TPM storage EAL option needs to implement all EAL methods implemented in pinweaver_eal_linux.c (or use it as-is, if Linux compatible).