| commit | bf359899763cb4d69e927a6cb7b7bfd6a6435356 | [log] [tgz] |
|---|---|---|
| author | Aaron Knobloch <aknobloch@fuchsia.infra.roller.google.com> | Mon May 05 11:21:44 2025 -0700 |
| committer | Copybara-Service <copybara-worker@google.com> | Mon May 05 11:23:13 2025 -0700 |
| tree | 37b5a7aec2bceecb5e6a88549aa4c9e34e4445d5 | |
| parent | 226725a6c7f4c3ea33bcb3fa7d0092742f28c20c [diff] |
[roll] Roll fuchsia [starnix] Refactor UserAddress for overflow safety This change refactors UserAddress and its API so that operations are checked for overflow. Notably, we lose the ergonomics of += and -= operations, since the trait definition doesn't allow for any memory-safe way to modify a UserAddress in place and communicate potential faults back to the caller. I think this is an acceptable loss. Some notable changes in this commit include: - Many of the syscalls return EFAULT now, which I've audited against the manpages for correctness. However, I did not audit every code branch and there may be places where we now EFAULT unexpectedly. - msync transforms the EFAULT return code, based on the manpage for it. - memory_manager now has some callsites which return early on erroneous address manipulation. This might cause side effects, but I'm not familiar enough with that code to deduce them. Original-Bug: 387826083 Test: TBD Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1255695 Original-Revision: f4acb96e88fa55b06a7799151a484fed1c7152a3 GitOrigin-RevId: bf543401fa8aede8dac2dded59779d8c823876c1 Change-Id: Ic87148c036a7688680e17008068f56a71deaa0e8
This repository contains Fuchsia's Global Integration manifest files.
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.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.