[roll] Roll fuchsia [kernel][vm] Robust PageRequest batching Changes the batching state from being inferred from the return value of PageSource::GetPage, to being queryable from the PageSource. This has three benefits 1. If an in progress batch request is given to the wrong PageSource it can be detected and safely handled. This cannot happen today, but could happen when there are additional implementors of PageRequestInterface. Specifically with an anonmyous page requester you could have a copy-on-write child of a pager backed VMO that has CommitRange called. The first page could be present in the parent, but missing in the child, requiring a page allocation, which could fail causing the PageRequest to be filled in. Since its in batch mode we would continue and then possibly find a page missing from the root vmo, and attempt to fill in the PageRequest using the PageSource. 2. The ZX_ERR_NEXT state that previously meant further batching was possible is also used for loop control everywhere in the VM system. Propagating GetPage statuses up to the root caller therefore has the chance of colliding with an attempt to perform a ForEveryPage or equivalent iteration. This does not happen today, but this is a hazard that would not be easily detected. 3. Additional assertions can be added using this state to ensure the page request API is used correctly. Original-Bug: 99890 Run-All-Tests: True Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/679849 Original-Revision: 2f5df2c170150b19c0fd8adfae34817b8f7a6566 GitOrigin-RevId: 08a031e8e5b80e3599567e0bc74d74124617f642 Change-Id: I6f82a07cd6a5b1cbbadfe996316288ff0230cff8
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 via the IRC channel #fuchsia on Freenode.
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.