Re: sysenter cause a segmentation fault.

From: Andi Kleen
Date: Sun Mar 18 2007 - 10:52:45 EST


"Ying Chu" <xjtuychu@xxxxxxxxx> writes:

> A simple code running on PIII 800,kernel 2.6.20 with SEP enabled
> causes a segmentation fault.

SYSENTER has a hardcoded return address, that is why you cannot be used
anywhere but in the vsyscall trampoline. In addition it doesn't work
on x86-64 for 32bit processes for AMD. The only system call method
supported without the vDSO is int 0x80. Better you just use the vDSO.

> More, when i enabled Kdb and set "bp sysenter_entry",it went with a
> catastrophic error errupted.

The stack and some other kernel state are not set up yet at this point.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/