Re: [PATCH] Gerd Hoffman's move-vsyscall-into-user-address-range patch

Zachary Amsden
2006-05-20T01:16:46Z

[-- Attachment #1: Type: text/plain, Size: 1301 bytes --]

Andrew Morton wrote:
> Ingo Molnar <mingo@elte.hu> wrote:
>
>> * Andrew Morton <akpm@osdl.org> wrote:
>>
>>
>>> Rusty Russell <rusty@rustcorp.com.au> wrote:
>>>
>>>> Name: Move vsyscall page out of fixmap into normal vma as per mmap
>>>>
>>> This causes mysterious hangs when starting init.
>>>
>>> Distro is RH FC1, running SysVinit-2.85-5.
>>>
>>> dmesg, sysrq-T and .config are at
>>> http://www.zip.com.au/~akpm/linux/patches/stuff/log-vmm - nothing leaps
>>> out.
>>>
>>> This is the second time recently when a patch has caused this machine
>>> to oddly hang in init. It's possible that there's a bug of some form
>>> in that version of init that we'll need to know about and take care of
>>> in some fashion.
>>>
>> FC1 is like really ancient. I think there was a glibc bug that caused
>> vsyscall related init hangs like that. To nevertheless let people run
>> their old stuff there's a vdso=0 boot option in exec-shield.
>>
>>
>
> Well that patch took a machine from working to non-working. Pretty serious
> stuff. We should get to the bottom of the problem so we can assess the
> risk and impact, no?

An easy test for culpability of kernel vs. init would be to back out all
patches and recompile the kernel with vsyscall moved down by 4 megs.

[-- Attachment #2: bogo-fixmap --]
[-- Type: text/plain, Size: 512 bytes --]

Index: linux-2.6.17-rc/include/asm-i386/fixmap.h
===================================================================
--- linux-2.6.17-rc.orig/include/asm-i386/fixmap.h 2006-03-19 21:53:29.000000000 -0800
+++ linux-2.6.17-rc/include/asm-i386/fixmap.h 2006-05-19 18:16:00.000000000 -0700
@@ -20,7 +20,7 @@
* Leave one empty page between vmalloc'ed areas and
* the start of the fixmap.
*/
-#define __FIXADDR_TOP 0xfffff000
+#define __FIXADDR_TOP 0xffbff000

#ifndef __ASSEMBLY__
#include <linux/kernel.h>