]> git.ipfire.org Git - thirdparty/glibc.git/commit
cheri: malloc: Set fixed mmap_threshold for capability narrowing
authorSzabolcs Nagy <szabolcs.nagy@arm.com>
Thu, 8 Dec 2022 16:32:56 +0000 (16:32 +0000)
committerSzabolcs Nagy <szabolcs.nagy@arm.com>
Fri, 9 Dec 2022 11:30:55 +0000 (11:30 +0000)
commitdc23cc80210799f8d8ab5b1ea2e00341e613a1a7
treea29d4ff6adcafc6869e8e3e89e24059378b47999
parentda7a5b5f4df247726806ec7c5ce57d6bf4290a01
cheri: malloc: Set fixed mmap_threshold for capability narrowing

Capability narrowing requires extra alignment for large allocations,
this can cause significant heap fragmentation so ensure large
allocations use a single mmap and unmaped on free. The fragmentation
is bug 14581.

This patch disables dynamic mmap threshold when cap_narrowing is
enabled and uses a threshold of 256 kbytes on morello (which means
at most 64 byte alignment requirement on the heap). The dynamic
threshold could quickly grow very big and stay there making the
fragmentation issue common.
malloc/arena.c
sysdeps/aarch64/morello/libc-cap.h