commit | abfe2f7a117ecf99fe056c8c042771f8e241912a | [log] [tgz] |
---|---|---|
author | Owner Cleanup Bot <swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com> | Wed Feb 26 09:42:11 2025 -0800 |
committer | Owner Cleanup Bot <swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com> | Wed Feb 26 09:42:14 2025 -0800 |
tree | b3a894dc1551765cb2e369e00fdce81409f13683 | |
parent | 7ba4dab5cc5e3c8f3eb594dcf3b33f99d9214aee [diff] |
[owners] Remove [email protected] from OWNERS This suggested change is automatically generated based on group memberships and affiliations. Please approve this change and vote the highest CR. This will keep the OWNERs file tidy. We ask that you do not ignore this change and approve it unless you know a reason the OWNER should remain. It can always be reverted if needed. If this change is in error, vote the lowest CR value (i.e. reject the CL) and the bot will abandon it. See the owner's recent review activity for context: https://android-review.googlesource.com/q/[email protected] To report an issue, file a bug in the Infra>Codereview component. Change-Id: I50d293c07eba2c803f765ad812814e181be9eb1b
This repository contains various pieces related to the Access-controlled NVRAM HAL. In a nutshell, the Access-controlled NVRAM HAL allows creation of NVRAM spaces that can hold arbitrary data blobs of limited size. Access restrictions can be configured on each NVRAM space to prevent the contents from being accessed or modified, up to the point of requiring full hardware reset to clear a locked NVRAM space. This can be used for various security features that require a trusted storage location for critical data that an attacker can't tamper with. For details of the NVRAM HAL API, see hardware/libhardware/include/hardware/nvram.h.
Contains a simple command-line application to interact with the NVRAM HAL implementation. This is useful for experimentation and use in scripts. nvram-client
receives commands and parameters on the command line and translates them to NVRAM HAL calls. Results are printed on stdout.
A reference implementation of the NVRAM functionality. This reference implementation can be used to create NVRAM HAL implementations that run in a trusted execution environment. It is also the basis for the testing NVRAM HAL module, which implements the entire NVRAM HAL API surface in userspace for the sake of illustration (but obviously doesn't meet the persistence and tamper-evidence requirements).
Note that the reference implementation leaves persistent storage to be handled by the embedding code, which needs to provide an implementation of the storage interface defined in system/nvram/core/include/nvram/core/storage.h.
The hal directory contains glue code that simplifies creation of NVRAM HAL modules. The code implements the API surface specified by the nvram.h HAL header and translates calls into the request/response message format defined in the messages directory. Thus, to create a working NVRAM HAL module, it is sufficient to provide an implementation that understands nvram::Request
and nvram::Response
objects, the glue code will adapt it to the full NVRAM API surface.
Defines an IPC message format that can be used to serialize NVRAM HAL calls and their parameters in preparation for sending them elsewhere (e.g., a TEE) for execution. There is a request and a response struct corresponding to each NVRAM HAL function. The nvram::Request
and nvram::Response
wrappers keep track of the actual request or response type, respectively, as well as the request or response parameters specific to the type.