[roll] Roll fuchsia [sestarnix] Introduce a per-task cache for security decisions

Experiments show that a small per-task cache for security decisions
can attain a high hit rate in realistic use cases. This change
introduces the interface for such a cache, but leaves the
implementation empty: the per-task cache immediately falls back to the
global access cache.

The cache is split into three:

 - a general cache for access vectors from standard access
   checks. Storing full access vectors in this cache allows handling
   cases where multiple consecutive queries will examine different
   permissions on the same (source, target, class) triple, and also
   dontaudit checks that require checking the audit field.
 - a specialized cache for fd use decisions
 - a cache for decisions on individual extended permissions. For space
   reasons, we do not store a full xperms access vector.

Original-Bug: 486844329
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1570033
Original-Revision: 3add90a631d9eb561ec1a4de0e693bfab46e20d3
GitOrigin-RevId: d62bd43af02f89cd4956d3a91266e6fcc158d227
Change-Id: Id542865a33290dd3c7db914ef006c86ef9241205
1 file changed
tree: a7e73245cec0fe01df8ab9f344e914e3fcd49b90
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. 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.