[roll] Roll fuchsia [display][banjo] Remove layer_cfg_result callee-allocated annotation. `layer_cfg_result` field in CheckConfiguration() return values is annotated as "callee-allocated"; the banjo C binding uses client_t** and size_t* in the function signature so that callee (driver) can sets the allocated vector and allocation size for the caller (coordinator). However, this is not the way layer_cfg_result is used in drivers. Actually, layer_cfg_result is still caller-allocated but it stores pointers to layer config results vector for each display. This violates the banjo binding rules and has no memory safety guarantee. There may be out-of-boundary access to the caller-provided layer_cfg_result vector. To fix this, this change removes the "callee-allocated" annotation from layer_cfg_result, and makes layer_cfg_result a flattened one-dimensional array sorted by display first and then by layer. This way the callee (driver) can make sure that the caller (coordinator) always provides valid storage for the output and it completely complies with the banjo specification. This change updates all drivers and display coordinator with the updated CheckConfiguration() API. Test: //src/graphics/display/drivers Original-Bug: 130426 Original-Bug: 130427 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/882891 Original-Revision: 24a03c6391ab6adbbc86e36e9e35b080ee27536e GitOrigin-RevId: 1e011c445a1f6ca9891ebaecfeb19fe580697a9f Change-Id: I1f7010b19f468cea54de75032f68a166384f75c9
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.