mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 13:00:06 +00:00
malloc: Avoid taggig mmaped memory on free
Either the memory belongs to the dumped area, in which case we don't want to tag (the dumped area has the same tag as malloc internal data so tagging is unnecessary, but chunks there may not have the right alignment for the tag granule), or the memory will be unmapped immediately (and thus tagging is not useful). Reviewed-by: DJ Delorie <dj@redhat.com>
This commit is contained in:
parent
91e5c439d3
commit
b9b85be6ea
@ -3284,9 +3284,6 @@ __libc_free (void *mem)
|
||||
|
||||
p = mem2chunk (mem);
|
||||
|
||||
/* Mark the chunk as belonging to the library again. */
|
||||
(void)TAG_REGION (chunk2rawmem (p), CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ);
|
||||
|
||||
if (chunk_is_mmapped (p)) /* release mmapped memory. */
|
||||
{
|
||||
/* See if the dynamic brk/mmap threshold needs adjusting.
|
||||
@ -3307,6 +3304,10 @@ __libc_free (void *mem)
|
||||
{
|
||||
MAYBE_INIT_TCACHE ();
|
||||
|
||||
/* Mark the chunk as belonging to the library again. */
|
||||
(void)TAG_REGION (chunk2rawmem (p),
|
||||
CHUNK_AVAILABLE_SIZE (p) - CHUNK_HDR_SZ);
|
||||
|
||||
ar_ptr = arena_for_chunk (p);
|
||||
_int_free (ar_ptr, p, 0);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user