[kms-stateless] Ignore empty filename in WatchTee

If the file watcher is activated before the optee driver is ready, it
will can return an empty filename as a result for the watcher to
process. If this isn't guarded against, WatchTee will proceed to make a
request to the optee driver, which will fail and trigger an immediate
retry.

The result is a race condition in which fshost asks kms-stateless for
the device key to unseal zxcrypt for minfs before optee is ready. After
5 retries, fshost gives up and leaves the device in a state where minfs
  remains encrypted.

Adding this check allows the watcher to continue watching for the actual
device to show up instead of trying to proceed with an empty value.

Bug: b/260904369
Test: Manual
Change-Id: I987f4f1e60ea0410a4bb27f93cbf9313bb5d689e
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/770386
Reviewed-by: Dmitry Yatsushkevich <dmitryya@google.com>
Commit-Queue: Eric Stone <ecstone@google.com>
1 file changed
tree: 1faff35726a5221988a50fb2ceeab4524fb74684
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. products/
  7. scripts/
  8. sdk/
  9. src/
  10. third_party/
  11. tools/
  12. zircon/
  13. .clang-format
  14. .clang-tidy
  15. .editorconfig
  16. .git-blame-ignore-revs
  17. .gitattributes
  18. .gitignore
  19. .gn
  20. .style.yapf
  21. analysis_options.yaml
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. pyrightconfig.json
  30. README.md
  31. rustfmt.toml
README.md

Fuchsia

What is Fuchsia?

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.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.