[roll] Roll fuchsia [zircon][rust] Use Result<(), ErrorStatus> in syscalls

Update Zither's Rust kernel backend to generate Result<(), ErrorStatus>
for syscalls returning zx_status_t, replacing raw Status returns.

Add ErrorStatus as a transparent wrapper around NonZero<zx_status_t> in
the zx-status crate. Because ErrorStatus has a niche at 0 (ZX_OK),
Result<(), ErrorStatus> has the exact same 4-byte memory layout and
machine ABI as zx_status_t while allowing idiomatic error handling in
syscall implementations via the ? operator and .into() conversions.

Update the test syscalls in zircon/kernel/lib/syscalls/test.rs to use
Result<(), ErrorStatus> and silence FFI lints in the syscall macro.

Original-Original-Bug: 507423574
Test: fx clippy --all, fx build, fx core-tests
Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1697174
Original-Original-Revision: 61c763af1dfcb95e9d7b8779605735f57c937a14
GitOrigin-RevId: d3fc11ff175bc89db606038cc68b1d1c96b2d56b
Change-Id: I446c39a25ae9f6080e6cbb6624768e2e874461fb
Reviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1698115
Cr-Commit-Position: refs/heads/main@{#196414}
1 file changed
tree: eef15154d9e7a83af96786ba16571dbacb25cc6e
  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.