+++ This bug was initially created as a clone of Bug #638525 +++ This bugzilla is clone for RHEL 5.6 - seems like some patch from this bugzilla is missing in kernel-2.6.18-226.el5 Created attachment 450416 [details] Demo code Description of problem: It seems like 32bit kernel has a problem with shortening [stack] mapping through several loops of mlock/munlock of /proc/self/maps I think it is related to backport of stack protection patch, but it's missing some further updates - as 2.6.36-rc5 kernel is not giving me this error - while 2.6.36-rc2 does. I'm providing simple test program to check how the [stack] mapping is decreased and amount of zero sized mapping is raising up. (This issue cause at least certain problems to lvm2 code) 64bit kernel doesn't seem to be affected. Version-Release number of selected component (if applicable): 2.6.32-71.el6.i686 How reproducible: Steps to Reproduce: 1. make test.c 2. test 3. Actual results: FROM: munlock 1556KiB 0020e000-00393000 r-xp 00000000 fd:00 786457 /lib/libc-2.12.so munlock 4KiB 00393000-00394000 ---p 00185000 fd:00 786457 /lib/libc-2.12.so munlock 8KiB 00394000-00396000 r--p 00185000 fd:00 786457 /lib/libc-2.12.so munlock 4KiB 00396000-00397000 rw-p 00187000 fd:00 786457 /lib/libc-2.12.so munlock 12KiB 00397000-0039a000 rw-p 00000000 00:00 0 munlock 4KiB 009e6000-009e7000 r-xp 00000000 00:00 0 [vdso] munlock 120KiB 00c8b000-00ca9000 r-xp 00000000 fd:00 786471 /lib/ld-2.12.so munlock 4KiB 00ca9000-00caa000 r--p 0001d000 fd:00 786471 /lib/ld-2.12.so munlock 4KiB 00caa000-00cab000 rw-p 0001e000 fd:00 786471 /lib/ld-2.12.so munlock 4KiB 08048000-08049000 r-xp 00000000 fd:00 1967527 /root/test munlock 4KiB 08049000-0804a000 rw-p 00000000 fd:00 1967527 /root/test munlock 132KiB 08f83000-08fa4000 rw-p 00000000 00:00 0 [heap] munlock 4KiB b78ae000-b78af000 rw-p 00000000 00:00 0 munlock 8KiB b78b3000-b78b5000 rw-p 00000000 00:00 0 munlock 4KiB b78b5000-b78b6000 rw-p 00000000 00:00 0 munlock 0KiB bfef0000-bfef0000 rw-p 00000000 00:00 0 munlock 0KiB bfef1000-bfef1000 rw-p 00000000 00:00 0 munlock 76KiB bfef2000-bff05000 rw-p 00000000 00:00 0 [stack] TO: munlock 1556KiB 0020e000-00393000 r-xp 00000000 fd:00 786457 /lib/libc-2.12.so munlock 4KiB 00393000-00394000 ---p 00185000 fd:00 786457 /lib/libc-2.12.so munlock 8KiB 00394000-00396000 r--p 00185000 fd:00 786457 /lib/libc-2.12.so munlock 4KiB 00396000-00397000 rw-p 00187000 fd:00 786457 /lib/libc-2.12.so munlock 12KiB 00397000-0039a000 rw-p 00000000 00:00 0 munlock 4KiB 009e6000-009e7000 r-xp 00000000 00:00 0 [vdso] munlock 120KiB 00c8b000-00ca9000 r-xp 00000000 fd:00 786471 /lib/ld-2.12.so munlock 4KiB 00ca9000-00caa000 r--p 0001d000 fd:00 786471 /lib/ld-2.12.so munlock 4KiB 00caa000-00cab000 rw-p 0001e000 fd:00 786471 /lib/ld-2.12.so munlock 4KiB 08048000-08049000 r-xp 00000000 fd:00 1967527 /root/test munlock 4KiB 08049000-0804a000 rw-p 00000000 fd:00 1967527 /root/test munlock 132KiB 08f83000-08fa4000 rw-p 00000000 00:00 0 [heap] munlock 4KiB b78ae000-b78af000 rw-p 00000000 00:00 0 munlock 8KiB b78b3000-b78b5000 rw-p 00000000 00:00 0 munlock 4KiB b78b5000-b78b6000 rw-p 00000000 00:00 0 munlock 0KiB bfef0000-bfef0000 rw-p 00000000 00:00 0 munlock 0KiB bfef1000-bfef1000 rw-p 00000000 00:00 0 munlock 0KiB bfef2000-bfef2000 rw-p 00000000 00:00 0 munlock 0KiB bfef3000-bfef3000 rw-p 00000000 00:00 0 munlock 0KiB bfef4000-bfef4000 rw-p 00000000 00:00 0 munlock 0KiB bfef5000-bfef5000 rw-p 00000000 00:00 0 munlock 0KiB bfef6000-bfef6000 rw-p 00000000 00:00 0 munlock 0KiB bfef7000-bfef7000 rw-p 00000000 00:00 0 munlock 0KiB bfef8000-bfef8000 rw-p 00000000 00:00 0 munlock 0KiB bfef9000-bfef9000 rw-p 00000000 00:00 0 munlock 44KiB bfefa000-bff05000 rw-p 00000000 00:00 0 [stack] With more iterations - could drop to 0KiB Expected results: Additional info:
(In reply to comment #0) > +++ This bug was initially created as a clone of Bug #638525 +++ > > This bugzilla is clone for RHEL 5.6 - seems like some patch from this bugzilla > is missing in kernel-2.6.18-226.el5 Pretty sure it is this patch (from bug #638525): http://patchwork.usersys.redhat.com/patch/28577/
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
The problem in rhel5 is that we don't have the list of vma's double linked so we cannot easily take the mentioned patch. Larry would you mind to take care of this?
in kernel-2.6.18-236.el5 You can download this test kernel (or newer) from http://people.redhat.com/jwilson/el5 Detailed testing feedback is always welcomed.
The issue is still present on ia64: + lvextend -l+10%FREE grow/grow0 Extending logical volume grow0 to 112.39 GB Internal error: Maps lock 17874944 < unlock 17891328 Logical volume grow0 successfully resized (13:48:54) [root@z3:~]$ uname -a Linux z3 2.6.18-238.el5 #1 SMP Sun Dec 19 14:23:48 EST 2010 ia64 ia64 ia64 GNU/Linux Resetting the state back to ON_QA. (see bug 575967 to find out how these are related)
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2011-0017.html