commit | a8bd9aeb97c25426a7e16510e0c2147fd8cf509c | [log] [tgz] |
---|---|---|
author | Wez <wez@fuchsia.infra.roller.google.com> | Thu May 02 08:19:43 2024 +0000 |
committer | Copybara-Service <copybara-worker@google.com> | Thu May 02 01:21:02 2024 -0700 |
tree | 8d18060ffb4001105d4c05d590118bf8f107b8bc | |
parent | d43d5e16221aa605fc6fe4e1a8d099e747721342 [diff] |
[roll] Roll fuchsia [starnix] Simplify `set_brk()` implementation Simplify the `set_brk()` implementation backing the `brk()` syscall to rely on `map_anonymous()`, rather than attempting to grow/shrink a dedicated backing VMO. In the `alternate_anon_allocs` configuration this provides automatic coalescing of newly-mapped BRK pages into the BRK mapping and in the default configuration `try_remap_in_place()` is used to extend an existing `Heap` mapping, rather than mapping a new anonymous VMO. The program break region is reserved via a placeholder VMO mapping into the Zircon address-space, when `brk()` is first called. This is overwritten with read/writable mapped anonymous pages as the BRK is grown, and re-mapped into place if the BRK is shrunk. The BRK is also fixed to treat the current program break as the first byte after the break, rather than as the final byte of the break. This is required in order for BRK pages to be correctly zeroed when the BRK is shrunk and regrown. Original-Bug: 334365844, 333435783, 333450691 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1035852 Original-Revision: 454fb0539a72042bcbf8458c1fb6465f5b4fdc9a GitOrigin-RevId: c3a4768a4b9cc28ee2c5ee6e138e035022f8c7ef Change-Id: I40d0cc3e663cad6d441d969874f14fed4176cc07
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
.