[roll] Roll fuchsia [NoRollback][starnix/fscrypt] Change Starnix fscrypt directory keys

This changes Starnix so that it will vend fscrypt directory and symlink
keys that use the lblk32 algorithm. This will only impact *new* keys
created for directories. Existing keys that use the fxfs algorithm will
continue to work, and files are unchanged.

This CL also changes how the key identifiers are derived, but that
change will only take effect after an FDR.

This change will mean filesystems start to use features that are not
supported by older versions of Fxfs, so it cannot be rolled back without
a loss of user data. It is for this reason that this CL includes an Fxfs
version change, even though the structures were changed in earlier CLs.

To make this work required properly wiring up the uuid and this means
some earlier hacks can be removed.

This also fixes an issue we would have had with programming keys:
calling a synchronous proxy from async code is problematic, so we now
make sure that all communication with inline crypto hardware happens
from synchronous code only (i.e. code that runs in syscall handlers).

Original-Bug: 452741473
Original-Bug: 460564319
Original-Bug: 436902004
NoRollback: This CL uses new Fxfs features
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1435294
Original-Revision: f5da693c91908435cb03cc9333bd0f23f0de6bdd
GitOrigin-RevId: f17fb0027a9d04a305eb03282ea3f81369618f0a
Change-Id: Ib8b824b3f45fe3f65cc6a555c3ef2ed37183114d
1 file changed
tree: d56cf70cbfd17efd113b091aadb5037db4ba9a5d
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. flower
  6. jiri.lock
  7. MILESTONE
  8. minimal
  9. prebuilts
  10. README.md
  11. stem
  12. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.