[roll] Roll fuchsia [fdio] Use OwnedFd and BorrowedFd to respect IO safety

An upcoming version of Rust for debug builds will check that IO
primitives are respecting IO safety, and disallow I/O on file
descriptors that may be held privately elsewhere in the program.

To support this:

* `fdio::transfer_fd` now takes an `OwnedFd` since it modifies the file
  descriptor table for the descriptor..
* `fdio::create_fd` now returns an `OwnedFd`, since the caller has
  ownership over the returned descriptor.
* `fdio::clone_fd` now takes a `BorrowedFd`, since it does not need
  ownership over the descriptor.
* `fdio::clone_channel` now takes a `BorrowedFd`, since it does not need
  ownership over the descriptor.

Original-Fixed: 338590355
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1042573
Owners-Override: James Robinson <jamesr@google.com>
Original-Revision: 82f95bdb3b37ab7b1a7035393213437c9fc59d8f
GitOrigin-RevId: 6a4e01ca5d03be0df234c3f264c77ef129e25b0f
Change-Id: I776918a04abfd47f7210bb72294056e3acc99192
1 file changed
tree: 089fceb40e1e4c276d2c4ffc1579e59a2364abcf
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
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 via the IRC channel #fuchsia on Freenode.

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.