[roll] Roll fuchsia [sestarnix] Hooks to temporarily patch task attributes

This change introduces hooks to temporarily patch task attributes, and
restore them after performing an operation. Internally, the changes to be
performed are described by a `TaskAttrsPatch` structure, composed from
provided operations. Currently, two operations are exposed: using an
effective SID previously copied from a CurrentTask, and copying the
security state of an FsNode as an fscreate SID. These are exposed to
the outside-SEStarnix world as two independent hooks.

To ensure that the state is properly restored, we require callers to
provide a closure that we wrap in the apply/restore operations. In
contrast to providing an object with a `Drop` implementation that
performs the restoring, this ensures that the lifetime of the
temporary state cannot be mistakenly extended, by moving or
leaking. In particular, the state will be restored before returning to
user code.

Original-Bug: 413607595, 364568696, 369067922, 364568931
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1275225
Original-Revision: f4bd0d49abe1c1acf711ec19f3ad3332a774a990
GitOrigin-RevId: 38075a9a687a9ba97f2b6f7ed5d59dabff4ff2bc
Change-Id: I7bc7566bd39b371ea7208e8770c104d87e83ffed
1 file changed
tree: 68010e6b31e83169210aaa0374c972c71bbc4617
  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.