[roll] Roll fuchsia [starnix][kernel] Drop PidTable lock before signaling ThreadGroup exit

Previously, ThreadGroup::remove() accepted the PidTable as a mutable
reference. This required the PidTable lock to be held across all thread
group teardown operations, including signaling. Holding the PidTable
lock across signal operations is unsafe because it can form a lock
inversion.

Route the lock guard itself to remove() so that it can be dropped prior
to signaling.

By necessity, this corrects the ordering of teardown notifications. The
process group is checked for orphans before notifying the parent of the
child's notification. This ensures the process group metadata remains
consistent and avoids race conditions where the parent reaps the zombie
before orphaned process groups can be detected and signaled.

Original-Original-Bug: 297440106
Test: starnix_syscalls_cpp_tests
Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1630917
Original-Original-Revision: c974981f462f82b2aec741399e16125b29c7b89a
GitOrigin-RevId: cd47da95965ed8374d3d15836cd04d719c1b7926
Change-Id: If775a822d18ee6e8db9cdd239c09b11b80f9437b
Reviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1633573
Cr-Commit-Position: refs/heads/main@{#193873}
1 file changed
tree: baeb71f900c5e280707a1d8dfcff8fab379ab5e0
  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.