[roll] Roll fuchsia [starnix][kernel] Defer FlushedFile drop to RCU

Previously, when a file descriptor was removed or replaced, the
underlying FileHandle was dropped at the end of the syscall, immediately
after flushing. This could lead to use-after-free if a concurrent reader
was still accessing the file via FdTableEntryGuard within an active RCU
read scope.

This change defers a FileHandle reference to RCU, which ensures that the
referenced file is not dropped until the grace period ends.

Original-Original-Bug: 297440106
Test: starnix_syscalls_cpp_tests
Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1620901
Original-Original-Revision: 8e16530338159b40c86e3c2edc0b1cd9a8ed1e55
GitOrigin-RevId: da3f474523cc53ff3c2f84af0a22f98e691dcda3
Change-Id: Iff7bf2792c2786570bc56e7670bf5d764912d6a7
Reviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1624142
Cr-Commit-Position: refs/heads/main@{#193361}
1 file changed
tree: a21af77e327d1eadbdaf95a943cc4219c4263c71
  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.