[roll] Roll fuchsia [fshost-rust] Reset fvm partitions on format This CL ensures that after the account migrations are complete and we switch over to hardware backed keys, the FVM is reset to a known good state such that the account and virtualization partitions are destroyed and the FVM data partition is resized accordingly to take up the newly freed space on disk. Note that as part of this, the data partition is destroyed and reallocated so data loss is incurred. A bug was also uncovered during this CL which is worth documenting. When fvm_ramdisk is set, there is a ZxcryptMatcher that will attach the zxcrypt driver to the data device and this new ZxcryptDevice will be picked up by the device handler and run through various match_device() implementations associated with different matchers. There is a moment after we have destroyed the data device in reset_fvm_partition where the PartitionMapMatcher will call content_format() on this ZxcryptDevice and because the device has already been destroyed, the get_info() call which eventually calls `out_info->block_count -= info_.reserved_blocks;` will cause block_count to underflow and later cause a multiplication overflow in content_format(). To avoid this, we now clamp block_count to 0 if it underflows. Original-Fixed: 119223 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/791309 Original-Revision: 58d8ae86d1d33339a3a53319963c05d41c90bc56 GitOrigin-RevId: d9251d7f747b30ce7ce590d8f4784fdd0615ff8d Change-Id: I5cbc6b2eb7f935bdc13fb37a0b2ca58fe3da6453
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.