public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc/arm/morello/main] cheri: malloc: use intptr_t to preserve capabilities
@ 2022-08-05 19:35 Szabolcs Nagy
0 siblings, 0 replies; 2+ messages in thread
From: Szabolcs Nagy @ 2022-08-05 19:35 UTC (permalink / raw)
To: glibc-cvs
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0205012984bc65f70d6324d9bc2338b7b23f4533
commit 0205012984bc65f70d6324d9bc2338b7b23f4533
Author: Carlos Eduardo Seo <carlos.seo@arm.com>
Date: Wed Jan 26 16:00:13 2022 -0300
cheri: malloc: use intptr_t to preserve capabilities
Avoid integer casts and arithmetics that invalidates capabilities.
Diff:
---
malloc/arena.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/malloc/arena.c b/malloc/arena.c
index 0a684a720d..b1f5b4117f 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -444,7 +444,7 @@ dump_heap (heap_info *heap)
fprintf (stderr, "Heap %p, size %10lx:\n", heap, (long) heap->size);
ptr = (heap->ar_ptr != (mstate) (heap + 1)) ?
(char *) (heap + 1) : (char *) (heap + 1) + sizeof (struct malloc_state);
- p = (mchunkptr) (((unsigned long) ptr + MALLOC_ALIGN_MASK) &
+ p = (mchunkptr) (((uintptr_t) ptr + MALLOC_ALIGN_MASK) &
~MALLOC_ALIGN_MASK);
for (;; )
{
@@ -518,7 +518,7 @@ alloc_new_heap (size_t size, size_t top_pad, size_t pagesize,
p1 = (char *) MMAP (0, max_size << 1, PROT_NONE, mmap_flags);
if (p1 != MAP_FAILED)
{
- p2 = (char *) (((unsigned long) p1 + (max_size - 1))
+ p2 = (char *) (((uintptr_t) p1 + (max_size - 1))
& ~(max_size - 1));
ul = p2 - p1;
if (ul)
@@ -760,7 +760,7 @@ _int_new_arena (size_t size)
/* Set up the top chunk, with proper alignment. */
ptr = (char *) (a + 1);
- misalign = (unsigned long) chunk2mem (ptr) & MALLOC_ALIGN_MASK;
+ misalign = (uintptr_t) chunk2mem (ptr) & MALLOC_ALIGN_MASK;
if (misalign > 0)
ptr += MALLOC_ALIGNMENT - misalign;
top (a) = (mchunkptr) ptr;
^ permalink raw reply [flat|nested] 2+ messages in thread
* [glibc/arm/morello/main] cheri: malloc: use intptr_t to preserve capabilities
@ 2022-10-26 15:11 Szabolcs Nagy
0 siblings, 0 replies; 2+ messages in thread
From: Szabolcs Nagy @ 2022-10-26 15:11 UTC (permalink / raw)
To: glibc-cvs
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d9cef3a8673a8b773982f9e12fe08ed4cf906427
commit d9cef3a8673a8b773982f9e12fe08ed4cf906427
Author: Carlos Eduardo Seo <carlos.seo@arm.com>
Date: Wed Jan 26 16:00:13 2022 -0300
cheri: malloc: use intptr_t to preserve capabilities
Avoid integer casts and arithmetics that invalidates capabilities.
Diff:
---
malloc/arena.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/malloc/arena.c b/malloc/arena.c
index 0a684a720d..b1f5b4117f 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -444,7 +444,7 @@ dump_heap (heap_info *heap)
fprintf (stderr, "Heap %p, size %10lx:\n", heap, (long) heap->size);
ptr = (heap->ar_ptr != (mstate) (heap + 1)) ?
(char *) (heap + 1) : (char *) (heap + 1) + sizeof (struct malloc_state);
- p = (mchunkptr) (((unsigned long) ptr + MALLOC_ALIGN_MASK) &
+ p = (mchunkptr) (((uintptr_t) ptr + MALLOC_ALIGN_MASK) &
~MALLOC_ALIGN_MASK);
for (;; )
{
@@ -518,7 +518,7 @@ alloc_new_heap (size_t size, size_t top_pad, size_t pagesize,
p1 = (char *) MMAP (0, max_size << 1, PROT_NONE, mmap_flags);
if (p1 != MAP_FAILED)
{
- p2 = (char *) (((unsigned long) p1 + (max_size - 1))
+ p2 = (char *) (((uintptr_t) p1 + (max_size - 1))
& ~(max_size - 1));
ul = p2 - p1;
if (ul)
@@ -760,7 +760,7 @@ _int_new_arena (size_t size)
/* Set up the top chunk, with proper alignment. */
ptr = (char *) (a + 1);
- misalign = (unsigned long) chunk2mem (ptr) & MALLOC_ALIGN_MASK;
+ misalign = (uintptr_t) chunk2mem (ptr) & MALLOC_ALIGN_MASK;
if (misalign > 0)
ptr += MALLOC_ALIGNMENT - misalign;
top (a) = (mchunkptr) ptr;
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-10-26 15:11 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-05 19:35 [glibc/arm/morello/main] cheri: malloc: use intptr_t to preserve capabilities Szabolcs Nagy
2022-10-26 15:11 Szabolcs Nagy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).