public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc/google/grte/v5-2.27/master] nptl: Make mmap and munmap in thread stack allocation interposable
@ 2022-10-27 20:50 Fangrui Song
0 siblings, 0 replies; only message in thread
From: Fangrui Song @ 2022-10-27 20:50 UTC (permalink / raw)
To: glibc-cvs
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=16ca0733a06f551aca8a5ecd38bcb719c4a56634
commit 16ca0733a06f551aca8a5ecd38bcb719c4a56634
Author: Nilay Vaish <nilayvaish@google.com>
Date: Thu Oct 27 11:33:49 2022 -0700
nptl: Make mmap and munmap in thread stack allocation interposable
b/238021577: __mmap and __munmap are not interposable. Call
interposable mmap and munmap instead so that we can capture thread stack
allocations.
Diff:
---
nptl/allocatestack.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index 9f6a75695e..1989ca7c86 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -276,7 +276,7 @@ __free_stacks (size_t limit)
/* Remove this block. This should never fail. If it does
something is really wrong. */
- if (__munmap (curr->stackblock, curr->stackblock_size) != 0)
+ if (munmap (curr->stackblock, curr->stackblock_size) != 0)
abort ();
/* Maybe we have freed enough. */
@@ -558,7 +558,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
/* If a guard page is required, avoid committing memory by first
allocate with PROT_NONE and then reserve with required permission
excluding the guard page. */
- mem = __mmap (NULL, size, (guardsize == 0) ? prot : PROT_NONE,
+ mem = mmap (NULL, size, (guardsize == 0) ? prot : PROT_NONE,
MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);
if (__glibc_unlikely (mem == MAP_FAILED))
@@ -585,7 +585,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
pagesize_m1);
if (setup_stack_prot (mem, size, guard, guardsize, prot) != 0)
{
- __munmap (mem, size);
+ munmap (mem, size);
return errno;
}
}
@@ -628,7 +628,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
assert (errno == ENOMEM);
/* Free the stack memory we just allocated. */
- (void) __munmap (mem, size);
+ (void) munmap (mem, size);
return errno;
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-10-27 20:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-27 20:50 [glibc/google/grte/v5-2.27/master] nptl: Make mmap and munmap in thread stack allocation interposable Fangrui Song
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).