[roll] Roll fuchsia [kernel][cmpctmalloc] Fix bug in cmpct_sized_free
This change fixes a bug in cmpct_sized_free where an assert may fire
if the supplied allocation came from memalign. Because the alignment
information is not available to cmpct_sized_free, it's not easy to
make this assert correct (without doing some inefficient things like
storing the alignment in the header_t). As a result we simply remove
the assert and add a regression test that would have caught the issue.
```
maniscalco ~/fuchsia((47f6f48c19c...)) $ out/core.x64/host_x64/cmpctmalloc_test
[==========] Flag Values:
--gtest_shuffle = true
--gtest_random_seed = 1735340987
[==========]
[==========] Running 12 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 12 tests from CmpctmallocTest
[ RUN ] CmpctmallocTest.HeapIsProperlyInitialized
[ OK ] CmpctmallocTest.HeapIsProperlyInitialized (0 ms)
[ RUN ] CmpctmallocTest.CookieTest
[ OK ] CmpctmallocTest.CookieTest (0 ms)
[ RUN ] CmpctmallocTest.CanAllocAndFree
[ OK ] CmpctmallocTest.CanAllocAndFree (123 ms)
[ RUN ] CmpctmallocTest.RetryOnHeapAllocBytesUltimatelySucceeds
[ OK ] CmpctmallocTest.RetryOnHeapAllocBytesUltimatelySucceeds (1 ms)
[ RUN ] CmpctmallocTest.CachedAllocationIsEfficientlyUsed
[ OK ] CmpctmallocTest.CachedAllocationIsEfficientlyUsed (2 ms)
[ RUN ] CmpctmallocTest.SizedFree
[ OK ] CmpctmallocTest.SizedFree (0 ms)
[ RUN ] CmpctmallocTest.RetryOnHeapAllocBytesUltimatelyFails
[ OK ] CmpctmallocTest.RetryOnHeapAllocBytesUltimatelyFails (0 ms)
[ RUN ] CmpctmallocTest.ZeroAllocIsNull
[ OK ] CmpctmallocTest.ZeroAllocIsNull (0 ms)
[ RUN ] CmpctmallocTest.LargeAllocsAreNull
[ OK ] CmpctmallocTest.LargeAllocsAreNull (3 ms)
[ RUN ] CmpctmallocTest.SizedFreeFromMemalign
ASSERT FAILED at (../../zircon/kernel/lib/heap/cmpctmalloc/cmpctmalloc.cc:1081): (static_cast<size_t>(header->size) - s) <= max_diffheader->size 96 s 1
Aborted
```
Original-Fixed: 386377108
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1180415
Original-Revision: 0ff05135f2089152fb8cc0151c18e1780edbadba
GitOrigin-RevId: ef04d22150113d57954688ad80d75a5e5dafe5d9
Change-Id: If3873c268c448ff4ebb03088558eed75f5b27c89
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.