[f2fs] Allow multiple shutdown calls and fix UAF Synchronize ComponentRunner::Shutdown to safely support multiple and racing shutdown calls (e.g. Lifecycle.Stop and Admin.Shutdown). Queue callbacks so that ManagedVfs::Shutdown runs once and all callers receive the shutdown result. Switch AdminService's shutdown requester to fit::function to tolerate repeated shutdown invocations, and retain strong fbl::RefPtr references in on_unbound handlers for AdminService and StartupService to eliminate use-after-free risks while FIDL channels remain active. Test: fx test f2fs-component-runner-test Test: fx test f2fs-component-tests Test: fx test f2fs-unittest TAG: agy CONV: 69fcc240-ebc8-4412-9773-735011240313 Change-Id: Ia5976fc2c861a6a7f4612a4f007d084e90c1a2da Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1797177 Reviewed-by: Rui Qi Sim <rqsim@google.com> Commit-Queue: Aaron Drew <ripper@google.com>
Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.
We expect everyone interacting with our project to respect our code of conduct.
Read more about Fuchsia's principles.
See Getting Started.
See fuchsia.dev.