| Summary: | dlclose dependency bugs | ||
|---|---|---|---|
| Product: | glibc | Reporter: | Roland McGrath <roland> |
| Component: | libc | Assignee: | Roland McGrath <roland> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | fweimer, glibc-bugs |
| Priority: | P2 | Flags: | fweimer:
security-
|
| Version: | 2.3.4 | ||
| Target Milestone: | --- | ||
| Host: | Target: | ||
| Build: | Last reconfirmed: | 2005-04-06 02:00:45 | |
| Project(s) to access: | ssh public key: | ||
| Bug Depends on: | |||
| Bug Blocks: | 724 | ||
|
Description
Roland McGrath
2005-04-06 00:39:51 UTC
Subject: Bug 821 CVSROOT: /cvs/glibc Module name: libc Branch: glibc-2_3-branch Changes by: roland@sources.redhat.com 2005-04-06 01:42:53 Modified files: elf : dl-close.c testobj2.c Added files: elf : tst-global1.c Log message: 2005-03-03 Ulrich Drepper <drepper@redhat.com> [BZ #821] * elf/dl-close.c (_dl_close): Don't try to set up new searchpath if the loader is closed. Fixes unload3. * elf/tst-global1.c: New file. * elf/Makefile (tests): Add tst-global1. * elf/testobj2.c (p): New function. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/tst-global1.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/dl-close.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.107&r2=1.107.2.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/testobj2.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.5&r2=1.5.6.1 Subject: Bug 821 CVSROOT: /cvs/glibc Module name: libc Branch: glibc-2_3-branch Changes by: roland@sources.redhat.com 2005-04-06 01:42:56 Modified files: elf : Makefile Log message: 2005-03-03 Ulrich Drepper <drepper@redhat.com> [BZ #821] * elf/dl-close.c (_dl_close): Don't try to set up new searchpath if the loader is closed. Fixes unload3. * elf/tst-global1.c: New file. * elf/Makefile (tests): Add tst-global1. * elf/testobj2.c (p): New function. 2005-03-03 Jakub Jelinek <jakub@redhat.com> [BZ #821] * elf/Makefile: Add rules to build and run unload3 test. * elf/unload3.c: New test. * elf/unload3mod1.c: New file. * elf/unload3mod2.c: New file. * elf/unload3mod3.c: New file. * elf/unload3mod4.c: New file. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/Makefile.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.287.2.2&r2=1.287.2.3 Subject: Bug 821 CVSROOT: /cvs/glibc Module name: libc Branch: glibc-2_3-branch Changes by: roland@sources.redhat.com 2005-04-06 01:42:59 Added files: elf : unload3mod4.c unload3mod2.c unload3mod3.c unload3.c unload3mod1.c Log message: 2005-03-03 Jakub Jelinek <jakub@redhat.com> [BZ #821] * elf/Makefile: Add rules to build and run unload3 test. * elf/unload3.c: New test. * elf/unload3mod1.c: New file. * elf/unload3mod2.c: New file. * elf/unload3mod3.c: New file. * elf/unload3mod4.c: New file. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/unload3mod4.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.2.2.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/unload3mod2.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/unload3mod3.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/unload3.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/unload3mod1.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 See unload[345] test cases in trunk. Subject: Bug 821 CVSROOT: /cvs/glibc Module name: libc Branch: glibc-2_3-branch Changes by: roland@sources.redhat.com 2005-04-06 02:49:49 Modified files: elf : dl-lookup.c Log message: 2005-03-19 Ulrich Drepper <drepper@redhat.com> [BZ #821] * elf/dl-lookup.c (add_dependency): Always search l_initfini if the list exists. 2005-03-18 Ulrich Drepper <drepper@redhat.com> [BZ #821] * include/link.h (struct link_map): Remove l_opencount. Add l_removed. Change type of l_idx to int. * elf/dl-close.c: Basically rewrite. Do not use l_opencount to determine whether a DSO has to be unloaded. Instead compute this in this function. * elf/dl-deps.c: No need to manipulate l_opencount anymore. * elf/dl-lookup.c: Likewise. * elf/rtld.c: Likewise * elf/dl-open.c: Likewise. Use l_init_called to determine whether object was just loaded. * elf/dl-fini.c: Bump l_direct_opencount instead of l_opencount. * elf/dl-load.c (_dl_map_object_from_fd): Do not recognize DSO which is about to be unloaded as a match. (_dl_map_object): Likewise. * elf/do-lookup.h (do_lookup_x): Do not look into DSO which is about to be unloaded. * elf/circleload1.c: Don't use l_opencount anymore. * elf/neededtest.c: Likewise. * elf/neededtest2.c: Likewise. * elf/neededtest3.c: Likewise. * elf/neededtest4.c: Likewise. * elf/unload.c: Likewise. * elf/unload2.c: Likewise. * elf/loadtest.c: Likewise. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/dl-lookup.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.117&r2=1.117.2.1 Subject: Bug 821 CVSROOT: /cvs/glibc Module name: libc Branch: glibc-2_3-branch Changes by: roland@sources.redhat.com 2005-04-06 02:49:56 Modified files: elf : Makefile Log message: 2005-03-19 Ulrich Drepper <drepper@redhat.com> [BZ #821] * elf/Makefile: Add rules to build and run order2. * elf/order2.c: New file. * elf/order2mod1.c: New file. * elf/order2mod2.c: New file. * elf/order2mod3.c: New file. * elf/order2mod4.c: New file. 2005-03-08 Jakub Jelinek <jakub@redhat.com> [BZ #821] * elf/Makefile: Add rules to build and run unload5 test. * elf/unload5.c: New file. [BZ #821] * elf/Makefile: Add rules to build and run unload4 test. * elf/unload4.c: New file. * elf/unload4mod1.c: New file. * elf/unload4mod2.c: New file. * elf/unload4mod3.c: New file. * elf/unload4mod4.c: New file. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/Makefile.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.287.2.3&r2=1.287.2.4 Subject: Bug 821 CVSROOT: /cvs/glibc Module name: libc Branch: glibc-2_3-branch Changes by: roland@sources.redhat.com 2005-04-06 02:49:52 Modified files: elf : rtld.c Log message: 2005-03-18 Ulrich Drepper <drepper@redhat.com> [BZ #821] * include/link.h (struct link_map): Remove l_opencount. Add l_removed. Change type of l_idx to int. * elf/dl-close.c: Basically rewrite. Do not use l_opencount to determine whether a DSO has to be unloaded. Instead compute this in this function. * elf/dl-deps.c: No need to manipulate l_opencount anymore. * elf/dl-lookup.c: Likewise. * elf/rtld.c: Likewise * elf/dl-open.c: Likewise. Use l_init_called to determine whether object was just loaded. * elf/dl-fini.c: Bump l_direct_opencount instead of l_opencount. * elf/dl-load.c (_dl_map_object_from_fd): Do not recognize DSO which is about to be unloaded as a match. (_dl_map_object): Likewise. * elf/do-lookup.h (do_lookup_x): Do not look into DSO which is about to be unloaded. * elf/circleload1.c: Don't use l_opencount anymore. * elf/neededtest.c: Likewise. * elf/neededtest2.c: Likewise. * elf/neededtest3.c: Likewise. * elf/neededtest4.c: Likewise. * elf/unload.c: Likewise. * elf/unload2.c: Likewise. * elf/loadtest.c: Likewise. [BZ #821] * elf/rtld.c: Preloading errors are now never fatal. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/rtld.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.339.2.1&r2=1.339.2.2 Subject: Bug 821 CVSROOT: /cvs/glibc Module name: libc Branch: glibc-2_3-branch Changes by: roland@sources.redhat.com 2005-04-06 02:49:59 Modified files: elf : dl-close.c dl-fini.c Log message: 2005-03-18 Ulrich Drepper <drepper@redhat.com> [BZ #821] * elf/dl-fini.c (_dl_fini): Split sorting of the maps in separate function _dl_sort_fini. (_dl_sort_fini): New function. * sysdeps/generic/ldsodefs.h: Declare _dl_sort_fini. * elf/dl-close.c (_dl_close): Call _dl_sort_fini before running destructors to call them in the right order. [BZ #821] * include/link.h (struct link_map): Remove l_opencount. Add l_removed. Change type of l_idx to int. * elf/dl-close.c: Basically rewrite. Do not use l_opencount to determine whether a DSO has to be unloaded. Instead compute this in this function. * elf/dl-deps.c: No need to manipulate l_opencount anymore. * elf/dl-lookup.c: Likewise. * elf/rtld.c: Likewise * elf/dl-open.c: Likewise. Use l_init_called to determine whether object was just loaded. * elf/dl-fini.c: Bump l_direct_opencount instead of l_opencount. * elf/dl-load.c (_dl_map_object_from_fd): Do not recognize DSO which is about to be unloaded as a match. (_dl_map_object): Likewise. * elf/do-lookup.h (do_lookup_x): Do not look into DSO which is about to be unloaded. * elf/circleload1.c: Don't use l_opencount anymore. * elf/neededtest.c: Likewise. * elf/neededtest2.c: Likewise. * elf/neededtest3.c: Likewise. * elf/neededtest4.c: Likewise. * elf/unload.c: Likewise. * elf/unload2.c: Likewise. * elf/loadtest.c: Likewise. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/dl-close.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.107.2.1&r2=1.107.2.2 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/dl-fini.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.37&r2=1.37.2.1 Subject: Bug 821 CVSROOT: /cvs/glibc Module name: libc Branch: glibc-2_3-branch Changes by: roland@sources.redhat.com 2005-04-06 02:50:04 Modified files: elf : dl-open.c Log message: 2005-03-19 Jakub Jelinek <jakub@redhat.com> [BZ #821] * elf/dl-open.c (dl_open_worker): Print exact l_direct_opencount value, it has been incremented before. 2005-03-18 Ulrich Drepper <drepper@redhat.com> [BZ #821] * include/link.h (struct link_map): Remove l_opencount. Add l_removed. Change type of l_idx to int. * elf/dl-close.c: Basically rewrite. Do not use l_opencount to determine whether a DSO has to be unloaded. Instead compute this in this function. * elf/dl-deps.c: No need to manipulate l_opencount anymore. * elf/dl-lookup.c: Likewise. * elf/rtld.c: Likewise * elf/dl-open.c: Likewise. Use l_init_called to determine whether object was just loaded. * elf/dl-fini.c: Bump l_direct_opencount instead of l_opencount. * elf/dl-load.c (_dl_map_object_from_fd): Do not recognize DSO which is about to be unloaded as a match. (_dl_map_object): Likewise. * elf/do-lookup.h (do_lookup_x): Do not look into DSO which is about to be unloaded. * elf/circleload1.c: Don't use l_opencount anymore. * elf/neededtest.c: Likewise. * elf/neededtest2.c: Likewise. * elf/neededtest3.c: Likewise. * elf/neededtest4.c: Likewise. * elf/unload.c: Likewise. * elf/unload2.c: Likewise. * elf/loadtest.c: Likewise. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/dl-open.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.116&r2=1.116.2.1 Subject: Bug 821 CVSROOT: /cvs/glibc Module name: libc Branch: glibc-2_3-branch Changes by: roland@sources.redhat.com 2005-04-06 02:50:16 Modified files: elf : unload3mod4.c testobj2.c Log message: 2005-03-05 Roland McGrath <roland@redhat.com> [BZ #821] * elf/unload3mod4.c: Declare foo. * elf/testobj2.c: Include <stdio.h>. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/unload3mod4.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.2.2.1&r2=1.2.2.2 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/testobj2.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.5.6.1&r2=1.5.6.2 Subject: Bug 821 CVSROOT: /cvs/glibc Module name: libc Branch: glibc-2_3-branch Changes by: roland@sources.redhat.com 2005-04-06 02:50:11 Modified files: elf : neededtest2.c neededtest.c circleload1.c unload.c loadtest.c do-lookup.h dl-deps.c unload2.c neededtest3.c neededtest4.c dl-load.c include : link.h Log message: 2005-03-18 Ulrich Drepper <drepper@redhat.com> [BZ #821] * include/link.h (struct link_map): Remove l_opencount. Add l_removed. Change type of l_idx to int. * elf/dl-close.c: Basically rewrite. Do not use l_opencount to determine whether a DSO has to be unloaded. Instead compute this in this function. * elf/dl-deps.c: No need to manipulate l_opencount anymore. * elf/dl-lookup.c: Likewise. * elf/rtld.c: Likewise * elf/dl-open.c: Likewise. Use l_init_called to determine whether object was just loaded. * elf/dl-fini.c: Bump l_direct_opencount instead of l_opencount. * elf/dl-load.c (_dl_map_object_from_fd): Do not recognize DSO which is about to be unloaded as a match. (_dl_map_object): Likewise. * elf/do-lookup.h (do_lookup_x): Do not look into DSO which is about to be unloaded. * elf/circleload1.c: Don't use l_opencount anymore. * elf/neededtest.c: Likewise. * elf/neededtest2.c: Likewise. * elf/neededtest3.c: Likewise. * elf/neededtest4.c: Likewise. * elf/unload.c: Likewise. * elf/unload2.c: Likewise. * elf/loadtest.c: Likewise. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/neededtest2.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.1&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/neededtest.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.4&r2=1.4.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/circleload1.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.2&r2=1.2.4.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/unload.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.2&r2=1.2.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/loadtest.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.8&r2=1.8.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/do-lookup.h.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.30&r2=1.30.2.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/dl-deps.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.77&r2=1.77.2.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/unload2.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.2&r2=1.2.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/neededtest3.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.1&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/neededtest4.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.1&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/dl-load.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.254.2.3&r2=1.254.2.4 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/include/link.h.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.33&r2=1.33.2.1 Subject: Bug 821 CVSROOT: /cvs/glibc Module name: libc Branch: glibc-2_3-branch Changes by: roland@sources.redhat.com 2005-04-06 02:50:23 Modified files: sysdeps/generic: ldsodefs.h Log message: 2005-03-18 Ulrich Drepper <drepper@redhat.com> [BZ #821] * elf/dl-fini.c (_dl_fini): Split sorting of the maps in separate function _dl_sort_fini. (_dl_sort_fini): New function. * sysdeps/generic/ldsodefs.h: Declare _dl_sort_fini. * elf/dl-close.c (_dl_close): Call _dl_sort_fini before running destructors to call them in the right order. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/generic/ldsodefs.h.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=1.106&r2=1.106.2.1 Subject: Bug 821 CVSROOT: /cvs/glibc Module name: libc Branch: glibc-2_3-branch Changes by: roland@sources.redhat.com 2005-04-06 02:51:22 Added files: elf : order2.c order2mod3.c order2mod1.c order2mod4.c order2mod2.c Log message: 2005-03-19 Ulrich Drepper <drepper@redhat.com> [BZ #821] * elf/Makefile: Add rules to build and run order2. * elf/order2.c: New file. * elf/order2mod1.c: New file. * elf/order2mod2.c: New file. * elf/order2mod3.c: New file. * elf/order2mod4.c: New file. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/order2.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/order2mod3.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/order2mod1.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/order2mod4.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/order2mod2.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 Subject: Bug 821 CVSROOT: /cvs/glibc Module name: libc Branch: glibc-2_3-branch Changes by: roland@sources.redhat.com 2005-04-06 02:51:33 Added files: elf : unload5.c Log message: 2005-03-08 Jakub Jelinek <jakub@redhat.com> [BZ #821] * elf/Makefile: Add rules to build and run unload5 test. * elf/unload5.c: New file. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/unload5.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 Subject: Bug 821 CVSROOT: /cvs/glibc Module name: libc Branch: glibc-2_3-branch Changes by: roland@sources.redhat.com 2005-04-06 02:51:35 Added files: elf : unload4.c unload4mod2.c unload4mod3.c unload4mod1.c unload4mod4.c Log message: 2005-03-08 Jakub Jelinek <jakub@redhat.com> [BZ #821] * elf/Makefile: Add rules to build and run unload4 test. * elf/unload4.c: New file. * elf/unload4mod1.c: New file. * elf/unload4mod2.c: New file. * elf/unload4mod3.c: New file. * elf/unload4mod4.c: New file. Patches: http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/unload4.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/unload4mod2.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/unload4mod3.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/unload4mod1.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/unload4mod4.c.diff?cvsroot=glibc&only_with_tag=glibc-2_3-branch&r1=NONE&r2=1.1.6.1 These fixes are in the 2.3 branch now as well as the trunk. |