Return correct error from ioctl failure

A nonzero return value from the ioctl just indicates that an
error occurred. The actual error code is found in errno. We'll
return -errno, because some ioctls occasionally zero or positive
values on success.

Oh, and return meaningful errors for all the other failures too.

Change-Id: Ide6d65a71aff34c25a58c61d4c28f203818b6d51
Signed-off-by: Bill Richardson <wfrichar@google.com>
1 file changed
tree: 98eadc8b048da5c8581b191a702b39f1132a1245
  1. citadel/
  2. hals/
  3. manual_tests/
  4. Android.bp
  5. LICENSE
  6. METADATA
  7. README.md
README.md

Android components for Nugget

Android communicates with Nugget apps in order to implement security related HALs. Currently, those HALs are Keymaster, Weaver and OemLock.

Services

Apps that define a protobuf service will have an app interface class autogenerated. These classes will wrap a NuggetClient. The generator can be found in the generator directory.

Asynchronous communication

Work in progress.

Currently, everything is synchronous and just exposes the call_application() function from the Nugget transport API. In future, asynchronous calls may be desired. Support for this could be added in:

  • Nugget transport API
  • NuggetClient on top of call_application()
  • Generated services

citadel

This directory contains the components to support Citadel connected to Android.