Description of problem: As kernel randomizes its small "[vdso]" mapping it sometimes maps it to the place where glibc is prelinked, needing a regular glibc relocation to a different place upon its loading. Version-Release number of selected component (if applicable): glibc-2.5.90-15.i686 prelink-0.3.10-1.i386 kernel-xen-2.6.19-1.2898.2.3.fc7.i686 How reproducible: Reliably, in ~20% of cases. Steps to Reproduce: 1. yum install prelink 2. /etc/cron.daily/prelink 3. LD_DEBUG=statistics cat /proc/self/maps |grep '00c52000.*/lib/i686/nosegneg/libc-2.5.90.so' # address of the prelinked glibc Actual results: [ Only in 20% of cases, in 80% of cases it is as in the "Expected results". ] $ LD_DEBUG=statistics cat /proc/self/maps |grep '00c52000.*/lib/i686/nosegneg/libc-2.5.90.so' 19816: 19816: runtime linker statistics: 19816: total startup time in dynamic loader: 3138178 clock cycles 19816: time needed for relocation: 460991 clock cycles (14.6%) 19816: number of relocations: 99 19816: number of relocations from cache: 5 19816: number of relative relocations: 1240 19816: time needed to load objects: 1325265 clock cycles (42.2%) Expected results: $ LD_DEBUG=statistics cat /proc/self/maps |grep '00c52000.*/lib/i686/nosegneg/libc-2.5.90.so' 19811: 19811: runtime linker statistics: 19811: total startup time in dynamic loader: 1356025 clock cycles 19811: time needed for relocation: 50154 clock cycles (3.6%) 19811: number of relocations: 0 19811: number of relocations from cache: 17 19811: number of relative relocations: 0 19811: time needed to load objects: 625825 clock cycles (46.1%) 00c52000-00da0000 r-xp 00000000 03:05 4186805 /lib/i686/nosegneg/libc-2.5.90.so Additional info: linux-2.6.18.i686/mm/mmap.c #define SHLIB_BASE 0x00110000 arch_get_unmapped_exec_area() if (!addr && !(flags & MAP_FIXED)) addr = randomize_range(SHLIB_BASE, 0x01000000, len); VDSO mapping should have its mapped range reduced/adjusted in cooperation with prelink: prelink/src/arch-i386.c #define REG0S 0x00101000 #define REG0E 0x00e00000 [ I did not check the non-i686 platforms. ]
Based on the date this bug was created, it appears to have been reported against rawhide during the development of a Fedora release that is no longer maintained. In order to refocus our efforts as a project we are flagging all of the open bugs for releases which are no longer maintained. If this bug remains in NEEDINFO thirty (30) days from now, we will automatically close it. If you can reproduce this bug in a maintained Fedora version (7, 8, or rawhide), please change this bug to the respective version and change the status to ASSIGNED. (If you're unable to change the bug's version or status, add a comment to the bug and someone will change it for you.) Thanks for your help, and we apologize again that we haven't handled these issues to this point. The process we're following is outlined here: http://fedoraproject.org/wiki/BugZappers/F9CleanUp We will be following the process here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this doesn't happen again.
This bug has been in NEEDINFO for more than 30 days since feedback was first requested. As a result we are closing it. If you can reproduce this bug in the future against a maintained Fedora version please feel free to reopen it against that version. The process we're following is outlined here: http://fedoraproject.org/wiki/BugZappers/F9CleanUp