diff options
| author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2022-04-07 08:43:00 +0100 |
|---|---|---|
| committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2022-11-22 14:31:25 +0000 |
| commit | 0b5f254b4daa0307a898b17eeb994a84e5e1a89f (patch) | |
| tree | 04f7adf6897a39169efcb6b1eb7d510a090210a0 /malloc/alloc_buffer_alloc_array.c | |
| parent | 0946809134764e4dc5c69f3fe464d9b3580ee83b (diff) | |
| download | glibc-0b5f254b4daa0307a898b17eeb994a84e5e1a89f.tar.xz glibc-0b5f254b4daa0307a898b17eeb994a84e5e1a89f.zip | |
cheri: elf: Setup per module RX and RW capabilities
_dl_map_segments must use capabilities, this required changes beyond
the obvious elfptr_t changes:
- Ensure map_end is derived from map_start,
- Use strict mmap bounds with MAP_FIXED: c->mapend is aligned up to
pagesize which may be out of bounds of l_map_start (covering the
load segments, but bounds are not aligned up), so use c->dataend
instead.
Propagate l_map_start and l_rw_start capabilities of ld.so and exe that
come from auxv, and ensure they are not recomputed incorrectly by ld.so.
The l_rw_range should exclude the relro region, but in libc.so and
ld.so this does not work: symbols are accessed before relro is applied
and then the permission should be writable.
Diffstat (limited to 'malloc/alloc_buffer_alloc_array.c')
0 files changed, 0 insertions, 0 deletions
