aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNilay Vaish <nilayvaish@google.com>2022-10-27 11:33:49 -0700
committerFangrui Song <maskray@google.com>2022-10-27 11:33:58 -0700
commit16ca0733a06f551aca8a5ecd38bcb719c4a56634 (patch)
tree3515da3d7d2687268f0ec7610c0e1488d11d3be6
parent7255e947f2ee7700d0a2f4115f9598e2dd8f3c2c (diff)
downloadglibc-16ca0733a06f551aca8a5ecd38bcb719c4a56634.zip
glibc-16ca0733a06f551aca8a5ecd38bcb719c4a56634.tar.gz
glibc-16ca0733a06f551aca8a5ecd38bcb719c4a56634.tar.bz2
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.
-rw-r--r--nptl/allocatestack.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index 9f6a756..1989ca7 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;
}