Messages in this thread | | | From | Denis Vlasenko <> | Subject | Re: Segfault on the i386 enter instruction | Date | Fri, 12 May 2006 16:47:36 +0300 |
| |
On Friday 12 May 2006 16:16, Tomasz Malesinski wrote: > The code attached below segfaults on the enter instruction. It works > when a stack frame is created by the three commented out > instructions and also when the first operand of the enter instruction > is small (less than about 6500 on my system). > > AFAIK, the only difference between creating a stack frame with the > enter instruction or push/mov/sub is that enter checks if the new > value of esp is inside the stack segment limit. > > I tested it on a vanilla kernel 2.4.26 on Intel Celeron and also on > probably non-vanilla 2.6.16.13 running on 3 dual core AMD Opteron, > quite busy, server. It is working in 32-bit mode. Interestingly, on > the second machine sometimes the program worked correctly.
Does not segfault for me:
# gcc Segfault.S
# ./a.out asdf
# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 11 model name : Intel(R) Celeron(TM) CPU 1200MHz stepping : 1 cpu MHz : 1196.201 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse bogomips : 2395.77
# gcc -v 2>&1 | tail -1 gcc version 3.4.3
-- vda -- vda - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |