On Tue, 2006-12-12 at 04:02 +0100, Andi Kleen wrote: > On Tuesday 12 December 2006 02:22, Jeremy Fitzhardinge wrote: > > What problem do they cause together? There's certainly no problem with > > Xen+vdso > > This was the change which finally got my test system (with an older > SUSE 9.0 based user land to boot). With paravirt older glibc's ld.so > otherwise throws assertation failures because it somehow can't deal with > the new placement. This only happens with paravirt enabled. > > Binary compatibility is important. Yes, this goes back to the original COMPAT_VDSO config option, months ago. FC1's buggy glibc couldn't handle the vdso being in an unusual place, and (over my objections) the COMPAT_VDSO option was introduced. Seems like SuSE 9.0 is similarly effected. I don't have a system which has this problem (and, at the end of a modem, I'm unlikely to get one soon). But I would suggest that COMPAT_VDSO should be rewritten: catch the segv from init (presumably in around the old vdso 0xFFFF0000 addr?), printk a message, turn vdso off and re-exec init. That should make everyone happy. Now, someone who can repro this please code it up! Thanks! Rusty.