On Tuesday 22 November 2005 13:38, Blaisorblade wrote: > > I'll see this crash and raise you. I just tried vanilla 2.6.15-rc2, and > > although it booted to a shell it crashed with the first command I ran. > > (This is my x86 laptop, built under ubuntu with gcc 3.3.5). Dump and > > dissassemblies follow. > > Ok, below is the likely failure point. > > From reading the code, I guess that this register is EIP, and that the > disassembly is on not relocated code (the last 3 digits match): > > 12 - bfffe08d > > > 8113080: 55 push %ebp > > 8113081: 89 c5 mov %eax,%ebp > > 8113083: b8 c0 00 00 00 mov $0xc0,%eax > > 8113088: cd 80 int $0x80 > > 811308a: 5d pop %ebp > > By memory we have remapped the stack > > > 811308b: 89 c7 mov %eax,%edi > > Ok, this instruction seems the failing one. However, I really wonder why it > should fail - there is no "normal" reason for the failure, at least for > what I see. > > What makes me think is: the kernel doesn't accept stack faults below $esp - > 32 - that's called "a bug" by sources. This shouldn't be considered as a > stack, but who knows.
I'm happy to try any suggested fixes you might have, but haven't made much progress on this part myself. Here's the dump of stub_clone_handler from 2.6.14, which worked for me. (The build environment and .config options are the same. This is stock 2.6.14 that doesn't have the LDT patch, but I tried the LDT patch by itself and it worked. Whatever broke this was introduced in -rc1.) I tried to compare 2.6.14 and 2.6.15-rc1 and they have _no_ similarity at all. Despite clone.c being identical. (The 2.6.15-rc1 version is noticeably more bloated... clone.o: file format elf32-i386 Disassembly of section .__syscall_stub: 00000000 <stub_clone_handler>: 0: 83 ec 10 sub $0x10,%esp 3: 89 1c 24 mov %ebx,(%esp) 6: 89 74 24 04 mov %esi,0x4(%esp) a: 89 7c 24 08 mov %edi,0x8(%esp) e: 89 6c 24 0c mov %ebp,0xc(%esp) 12: b9 fc f7 ff bf mov $0xbffff7fc,%ecx 17: bb 11 84 00 00 mov $0x8411,%ebx 1c: b8 78 00 00 00 mov $0x78,%eax 21: cd 80 int $0x80 23: 89 c2 mov %eax,%edx 25: 85 d2 test %edx,%edx 27: 75 6a jne 93 <stub_clone_handler+0x93> 29: be 00 00 00 00 mov $0x0,%esi 2e: ba 00 00 00 00 mov $0x0,%edx 33: b9 00 00 00 00 mov $0x0,%ecx 38: bb 00 00 00 00 mov $0x0,%ebx 3d: b8 1a 00 00 00 mov $0x1a,%eax 42: cd 80 int $0x80 44: 89 c2 mov %eax,%edx 46: 85 d2 test %edx,%edx 48: 75 49 jne 93 <stub_clone_handler+0x93> 4a: ba 00 00 00 00 mov $0x0,%edx 4f: b9 08 f0 ff bf mov $0xbffff008,%ecx 54: bb 01 00 00 00 mov $0x1,%ebx 59: b8 68 00 00 00 mov $0x68,%eax 5e: cd 80 int $0x80 60: 89 c2 mov %eax,%edx 62: 85 d2 test %edx,%edx 64: 75 2d jne 93 <stub_clone_handler+0x93> 66: 8b 2d 04 f0 ff bf mov 0xbffff004,%ebp 6c: b8 c0 00 00 00 mov $0xc0,%eax 71: bb 00 f0 ff bf mov $0xbffff000,%ebx 76: b9 00 10 00 00 mov $0x1000,%ecx 7b: ba 03 00 00 00 mov $0x3,%edx 80: be 11 00 00 00 mov $0x11,%esi 85: 89 ef mov %ebp,%edi 87: 55 push %ebp 88: 8b 2d 00 f0 ff bf mov 0xbffff000,%ebp 8e: cd 80 int $0x80 90: 5d pop %ebp 91: 89 c2 mov %eax,%edx 93: b8 00 f0 ff bf mov $0xbffff000,%eax 98: 89 50 18 mov %edx,0x18(%eax) 9b: cc int3 9c: 8b 1c 24 mov (%esp),%ebx 9f: 8b 74 24 04 mov 0x4(%esp),%esi a3: 8b 7c 24 08 mov 0x8(%esp),%edi a7: 8b 6c 24 0c mov 0xc(%esp),%ebp ab: 83 c4 10 add $0x10,%esp ae: c3 ret ------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today Register for a JBoss Training Course. Free Certification Exam for All Training Attendees Through End of 2005. For more info visit: http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click _______________________________________________ User-mode-linux-user mailing list User-mode-linux-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user