diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-09-25 03:31:59 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-09-25 03:31:59 +0000 |
commit | 69c9fa045bce5e125e2e4525eb62ec58965e92f5 (patch) | |
tree | 82128d16507f4f4a92caec8e3e5ae248b1f23c7c /nptl | |
parent | 279f1143afdb06e263dfab510a3e2cbb022014fe (diff) | |
download | glibc-69c9fa045bce5e125e2e4525eb62ec58965e92f5.tar.gz glibc-69c9fa045bce5e125e2e4525eb62ec58965e92f5.tar.xz glibc-69c9fa045bce5e125e2e4525eb62ec58965e92f5.zip |
Update.
* sysdeps/unix/sysv/linux/dl-execstack.c (_dl_make_stack_executable): Remember that we changed the permission.
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ChangeLog | 3 | ||||
-rw-r--r-- | nptl/allocatestack.c | 14 |
2 files changed, 17 insertions, 0 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index e18c9cac21..30b7d9eb1d 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,8 @@ 2003-09-24 Ulrich Drepper <drepper@redhat.com> + * allocatestack.c (__make_stacks_executable): Also change + permission of the currently unused stacks. + * allocatestack.c (change_stack_perm): Split out from __make_stacks_executable. (allocate_stack): If the required permission changed between the time diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c index 24292e7295..c82b36ede0 100644 --- a/nptl/allocatestack.c +++ b/nptl/allocatestack.c @@ -684,6 +684,20 @@ __make_stacks_executable (void) break; } + /* Also change the permission for the currently unused stacks. This + might be wasted time but better spend it here than adding a check + in the fast path. */ + list_for_each (runp, &stack_cache) + { + err = change_stack_perm (list_entry (runp, struct pthread, list) +#ifdef NEED_SEPARATE_REGISTER_STACK + , pagemask +#endif + ); + if (err != 0) + break; + } + lll_unlock (stack_cache_lock); if (err == 0) |