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
|