glibc:arm/morello/v3

Last commit made on 2022-11-22
Get this branch:
git clone -b arm/morello/v3 https://git.launchpad.net/glibc

Branch merges

Branch information

Name:
arm/morello/v3
Repository:
lp:glibc

Recent commits

02fee5e... by Szabolcs Nagy <email address hidden>

morello README: typo and wording fixes

15a1652... by Szabolcs Nagy <email address hidden>

aarch64: morello: bump min linux version to 5.18.0

187b3dd... by Szabolcs Nagy <email address hidden>

cheri: Fix pselect signal mask argument

The signal mask argument is passed as a struct with a pointer and size
in the linux syscall abi, but the types used in glibc were wrong for
CHERI due to an x32 specific hack.

f4c913e... by Szabolcs Nagy <email address hidden>

Revert "cheri: Fix elf/tst-dlmodcount test"

This reverts commit 3a69d7f241ab9f738479e039bd6eecf433868375.

3caf385... by Szabolcs Nagy <email address hidden>

Revert "cheri: malloc: avoid switch over uintptr_t"

This reverts commit dc8f9560104f0803e53fa23bfd011aa9878d5a97.

5b8ca6c... by Szabolcs Nagy <email address hidden>

morello README update

7e17dad... by Szabolcs Nagy <email address hidden>

morello: Provide documentation about the morello port.

2a7b951... by Szabolcs Nagy <email address hidden>

cheri: malloc: disable capability narrowing on some tests

malloc/tst-malloc-backtrace tests heap corruption.
malloc/tst-dynarray uses malloc_debug wrappers that access internals.

f0f77b8... by Szabolcs Nagy <email address hidden>

cheri: malloc: add tunable to turn narrowing off

b488de1... by Szabolcs Nagy <email address hidden>

cheri: malloc: Capability narrowing using internal lookup table

Add more cap_ hooks to implement narrowing without depending on a
global capability covering the heap. Either recording every
narrowed capability in a lookup table or recording every mapping
used for the heap are supported. The morello implmentation uses
a lookup table for now.

The lookup table adds memory overhead, failure paths and locks.
Recording and removing entries from the lookup table must be done
carefully in realloc so on failure the old pointer is usable and
on success the old pointer is immediately reusable concurrently.
The locks require fork hooks so malloc works in multi-threaded
fork child.