android_kernel_motorola_sm6225/arch/i386/mm
Chuck Ebbert 21528454f6 [PATCH] i386: let usermode execute the "enter" instruction
The i386 page fault handler does not allow enough slack when checking for
userspace access below the current stack pointer.  This prevents use of the
enter instruction by user code.  Fix this by allowing enough slack for
"enter $65535,$31" to execute.

Problem reported by Tomasz Malesinski <tmal@mimuw.edu.pl>

Tested using this program, based on the original from Tomasz:

	.file	"ovflow.S"
	.version	"01.01"
gcc2_compiled.:
.section	.rodata
.LC0:
	.string	"asdf\n"
.text
	.align 4
.globl main
	.type	 main,@function
main:
nest_level=0
.rept 30
	enter $0,$nest_level
nest_level=nest_level+1
.endr
	enter $65535,$30
	enter $65535,$31
	addl $-12,%esp
	pushl $.LC0
	call printf
	addl $16,%esp
.L2:
.rept 32
	leave
.endr
	ret
.Lfe1:
	.size	 main,.Lfe1-main
	.ident	"GCC: (GNU) 2.95.4 20011002 (Debian prerelease)"

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-23 07:42:57 -07:00
..
boot_ioremap.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
discontig.c [PATCH] unify PFN_* macros 2006-03-27 08:44:48 -08:00
extable.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fault.c [PATCH] i386: let usermode execute the "enter" instruction 2006-06-23 07:42:57 -07:00
highmem.c [PATCH] kdump: Routines for copying dump pages 2005-06-25 16:24:53 -07:00
hugetlbpage.c [PATCH] hugepage: is_aligned_hugepage_range() cleanup 2006-03-22 07:54:04 -08:00
init.c [PATCH] build fix: CONFIG_MEMORY_HOTPLUG=y on i386 2006-05-21 12:59:17 -07:00
ioremap.c [PATCH] i386,amd64: ioremap.c __iomem annotations 2005-12-15 10:04:30 -08:00
Makefile [PATCH] sparsemem memory model for i386 2005-06-23 09:45:05 -07:00
mmap.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pageattr.c [PATCH] i386: pageattr remove __put_page 2006-03-22 07:54:01 -08:00
pgtable.c [PATCH] for_each_online_pgdat: renaming for_each_pgdat 2006-03-27 08:44:48 -08:00