History log of /system/nvram/core/nvram_manager.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7a90d6c6bfca68afbd99f6caec9762a5d1b23f2c 14-Jun-2016 Mattias Nissler <mnissler@google.com> Filter storage status codes to ensure valid range.

This makes sure any storage status codes coming from the persistence
layer are within the known range. Any status code outside the range
are mapped to kStorageError. This adds an extra safety net that
catches misbehaving storage implementations or problems with linking
stale NVRAM object code after adding status code definitions at run
time.

Change-Id: Ia6418b6a8d56ac2a812434fe2565aef63a82b59a
/system/nvram/core/nvram_manager.cpp
0b833364a3db07f389faa7f99a68277a493548f3 13-Jun-2016 Mattias Nissler <mnissler@google.com> Add commands for clearing NVRAM on full reset.

This adds commands that allow clearing the entire NVRAM contents. This
can be used by firmware to implement the correct behavior as part of
device recovery. There's always the risk of malicious invocation of
the reset logic, so the new code is behind a compile flag which isn't
enabled by default.

BUG: 29260086
Change-Id: I8eb8a4953ed62ff75b8242daa60c1e4f99bf254d
/system/nvram/core/nvram_manager.cpp
495f9ee73930daca9992db691f3b577bf1abed7e 09-Jun-2016 Mattias Nissler <mnissler@google.com> Isolate crypto implementation details.

This moves the details of interfacing with crypto libraries behind a
clean interface, so crypto can be swapped out as needed. Now that
swapping out crypto libraries is easy, use BoringSSL for the main
Android build. We can now always replace it with something else if
that's need in other environments.

BUG: 29238681

Change-Id: I9af046b62273ede4c98d4239a4774c25764dbdaf
/system/nvram/core/nvram_manager.cpp
bfb09a00dcb98fd8f4d0294c5905726973212838 13-Apr-2016 Elliott Hughes <enh@google.com> Move system/nvram from libmincrypt to libconstrainedcrypto.

Bug: http://b/27287913
Change-Id: Ib4b60dba211c054eb551a2bbf8b4ff2ba6f12d8a
/system/nvram/core/nvram_manager.cpp
088471151b7784cef5a8555e1f155454df106113 08-Mar-2016 Darren Krahn <dkrahn@google.com> Add support for get_max_space_size_in_bytes().

This method, added in v1.1 of the HAL, allows an implementation to
report the maximum supported size for a single space.

This CL also includes a few enhancements to improve testing and adds a
top level Android.mk for convenience.

BUG=27480753

Change-Id: I962cc7a31e869e72920cd80146b69974e50d5745
/system/nvram/core/nvram_manager.cpp
c27c3f1c1bcc24709b3135fe99b2ee7c656e6480 19-Feb-2016 Mattias Nissler <mnissler@google.com> Fix format constants for fixed-with integer types.

The code should use PRI... macros from inttypes.h when formatting
fixed-with integer types. This prevents compiler warnings due to
mismatches between actual type size and the compiler-target dependent
standard format constants.

Change-Id: I6e810187da0e6a136fc104c095bcffa95116bbb1
/system/nvram/core/nvram_manager.cpp
625cbbe0b6f4a31079e889ac092456ac1893812b 15-Feb-2016 Mattias Nissler <mnissler@google.com> Additional unit tests for NvramManager.

Add unit tests for the remaining NvramManager operations. This
actually uncovered buggy behavior in edge cases when operations run
into errors but don't leave the system in predictable internal state.
This change fixes these issues as well, so the tests pass.

BUG: 26978195
Change-Id: If17c6a2073bdcea9f804385aa2fa5050e2f2c8d0
/system/nvram/core/nvram_manager.cpp
58e77d095777bee864fd1dda31837ac4e21bb43f 15-Feb-2016 Mattias Nissler <mnissler@google.com> Implement support for write-extend NVRAM spaces.

Implement NV_CONTROL_WRITE_EXTEND, i.e. access-controlled NVRAM spaces
that are hash-extended on write. This can be used for anything that
employs hash-chaining, e.g. for audit logging.

BUG: 26973380
Change-Id: Icb03134aa55efb52250477056ce877b3d046bc0c
/system/nvram/core/nvram_manager.cpp
8987f01dad2231430ce1b6ca5816961f21411ef6 28-Jan-2016 Mattias Nissler <mnissler@chromium.org> Implement space manipulation NVRAM operations.

This adds the logic for NVRAM HAL operations that manipulate
individual spaces, i.e. reading, writing and locking them.

BUG: 25762540
Change-Id: Idb3a1c5c796fde32ef77d1a68c4cc554150acb8c
/system/nvram/core/nvram_manager.cpp
aa4a1a8c35e0b944fbf721ff00fd03b52a59f8aa 28-Jan-2016 Mattias Nissler <mnissler@chromium.org> Implement info operation and space creation.

This implements the first batch of NVRAM operations: GetInfo,
CreateSpace, GetSpaceInfo and DisableCreate. Operations to manipulate
individual spaces will follow in a subsequent CL.

BUG: 25762540
Change-Id: I74c6bcf7804cecbe7630479fbdd6bb0a0a668c7b
/system/nvram/core/nvram_manager.cpp
b07c8946c00857d2e843d2ec5d49f9a753d451e0 28-Jan-2016 Mattias Nissler <mnissler@chromium.org> First bits of core NVRAM logic.

This adds TrustyNvram, which will hold the main logic implementing the
semantics mandated by the access-controlled NVRAM HAL spec.

BUG: 25762540
Change-Id: I40914bd161ca58b4f79d32a1b82c6754db5cfca8
/system/nvram/core/nvram_manager.cpp