diff options
author | Florian Weimer <fweimer@redhat.com> | 2015-12-16 12:39:48 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2015-12-16 12:39:48 +0100 |
commit | 3da825ce483903e3a881a016113b3e59fd4041de (patch) | |
tree | 092a1973785289ec3bd6bb2eb9c40064608d33b6 /ChangeLog | |
parent | f1aceee39289f97a420126c58007eba77fb2dd30 (diff) | |
download | glibc-3da825ce483903e3a881a016113b3e59fd4041de.tar.gz glibc-3da825ce483903e3a881a016113b3e59fd4041de.tar.xz glibc-3da825ce483903e3a881a016113b3e59fd4041de.zip |
malloc: Fix attached thread reference count handling [BZ #19243]
reused_arena can increase the attached thread count of arenas on the free list. This means that the assertion that the reference count is zero is incorrect. In this case, the reference count initialization is incorrect as well and could cause arenas to be put on the free list too early (while they still have attached threads). * malloc/arena.c (get_free_list): Remove assert and adjust reference count handling. Add comment about reused_arena interaction. (reused_arena): Add comments abount get_free_list interaction. * malloc/tst-malloc-thread-exit.c: New file. * malloc/Makefile (tests): Add tst-malloc-thread-exit. (tst-malloc-thread-exit): Link against libpthread.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 8fd2d96da6..21e217a7c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2015-12-16 Florian Weimer <fweimer@redhat.com> + + [BZ #19243] + * malloc/arena.c (get_free_list): Remove assert and adjust + reference count handling. Add comment about reused_arena + interaction. + (reused_arena): Add comments abount get_free_list interaction. + * malloc/tst-malloc-thread-exit.c: New file. + * malloc/Makefile (tests): Add tst-malloc-thread-exit. + (tst-malloc-thread-exit): Link against libpthread. + 2015-12-15 H.J. Lu <hongjiu.lu@intel.com> [BZ #19367] |