1
linux/arch/arm/include/asm
Lennert Buytenhek 794baba637 [ARM] 5340/1: fix stack placement after noexecstack changes
Commit 8ec53663d2 ("[ARM] Improve
non-executable support") added support for detecting non-executable
stack binaries.  One of the things it does is to make READ_IMPLIES_EXEC
be set in ->personality if we are running on a CPU that doesn't support
the XN ("Execute Never") page table bit or if we are running a binary
that needs an executable stack.

This exposed a latent bug in ARM's asm/processor.h due to which we'll
end up placing the stack at a very low address, where it will bump into
the heap on any application that uses significant amount of stack or
heap or both, causing many interesting crashes.

Fix this by testing the ADDR_LIMIT_32BIT bit in ->personality instead
of testing for equality against PER_LINUX_32BIT.

Reviewed-by: Nicolas Pitre <nico@marvell.com>

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-12-06 08:32:02 +00:00
..
hardware iop-adma: use iop_paranoia() for debug BUG_ONs 2008-11-11 13:12:33 -07:00
mach [ARM] iop: iop3xx needs registers mapped uncached+unbuffered 2008-11-09 11:18:36 +00:00
a.out-core.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
a.out.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
assembler.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
atomic.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
auxvec.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
bitops.h [ARM] 5339/1: fix __fls() on ARM 2008-12-04 09:21:55 +00:00
bug.h [ARM] 5211/2: fix a couple warnings from BUG() usage 2008-09-01 12:06:27 +01:00
bugs.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
byteorder.h Revert "[ARM] use the new byteorder headers" 2008-09-05 17:01:50 +01:00
cache.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
cacheflush.h [ARM] cachetype: move definitions to separate header 2008-09-01 12:06:24 +01:00
cachetype.h [ARM] Introduce new bitmask based cache type macros 2008-09-25 15:35:28 +01:00
checksum.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
cpu-multi32.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
cpu-single.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
cpu.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
cputime.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
cputype.h [ARM] cputype: separate definitions, use them 2008-09-01 12:06:23 +01:00
current.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
delay.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
device.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
div64.h [ARM] 5320/1: fix assembly constraints in implementation of do_div() 2008-10-23 12:53:32 +01:00
dma-mapping.h [ARM] dma-mapping: fix compiler warning 2008-11-13 14:33:51 +00:00
dma.h [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
domain.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
ecard.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
elf.h [PATCH] remove unused ibcs2/PER_SVR4 in SET_PERSONALITY 2008-10-16 15:40:05 +02:00
emergency-restart.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
errno.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
fb.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
fcntl.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
fiq.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
flat.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
floppy.h [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
fpstate.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
ftrace.h ftrace: rename FTRACE to FUNCTION_TRACER 2008-10-20 18:27:03 +02:00
futex.h [ARM] 5218/1: arm: improved futex support 2008-09-01 12:06:26 +01:00
glue.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
gpio.h [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
hardirq.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
hw_irq.h [ARM] Fix circular include dependency with IRQ headers 2008-08-07 09:39:37 +01:00
hwcap.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
ide.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
io.h [ARM] Remove MT_DEVICE_IXP2000 and associated definitions 2008-10-01 16:41:06 +01:00
ioctl.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
ioctls.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
ipcbuf.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
irq_regs.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
irq.h [ARM] sparse: quieten arch/arm/kernel/irq.c 2008-09-06 10:56:27 +01:00
irqflags.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
Kbuild [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
kdebug.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
kexec.h kexec jump: rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE 2008-08-15 08:35:42 -07:00
kgdb.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
kmap_types.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
kprobes.h [ARM] 5206/1: remove kprobe_trap_handler() hack 2008-09-01 12:06:26 +01:00
leds.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
limits.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
linkage.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
local.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
locks.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
mc146818rtc.h [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
memory.h [ARM] fix naming of MODULE_START / MODULE_END 2008-11-06 17:13:47 +00:00
mman.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
mmu_context.h [ARM] cachetype: move definitions to separate header 2008-09-01 12:06:24 +01:00
mmu.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
mmzone.h [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
module.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
msgbuf.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
mtd-xip.h [ARM] 5191/1: ARM: remove CVS keywords 2008-08-16 20:01:18 +01:00
mutex.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
nwflash.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
page-nommu.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
page.h [ARM] Improve non-executable support 2008-10-01 16:41:10 +01:00
param.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
parport.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
pci.h [ARM] Fix PCI_DMA_BUS_IS_PHYS for ARM 2008-09-13 21:35:55 +01:00
percpu.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
pgalloc.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
pgtable-hwdef.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
pgtable-nommu.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
pgtable.h Merge branch 'ptebits' into devel 2008-10-09 21:31:56 +01:00
poll.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
posix_types.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
proc-fns.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
processor.h [ARM] 5340/1: fix stack placement after noexecstack changes 2008-12-06 08:32:02 +00:00
procinfo.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
ptrace.h [ARM] remove pc_pointer() 2008-09-06 10:35:51 +01:00
resource.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
scatterlist.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
sections.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
segment.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
sembuf.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
serial.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
setup.h [ARM] mm: provide helpers for accessing membanks 2008-10-01 17:22:02 +01:00
shmbuf.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
shmparam.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
sigcontext.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
siginfo.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
signal.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
sizes.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
smp.h [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
socket.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
sockios.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
sparsemem.h [ARM] mm: enable sparsemem on clps7500 and RiscPC 2008-10-01 17:24:04 +01:00
spinlock_types.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
spinlock.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
stat.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
statfs.h ARM: Use <asm-generic/statfs.h> 2008-09-04 09:46:11 +01:00
string.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
suspend.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
system.h [ARM] mm: fix page table initialization 2008-11-06 17:45:32 +00:00
termbits.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
termios.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
therm.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
thread_info.h [ARM] remove pc_pointer() 2008-09-06 10:35:51 +01:00
thread_notify.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
timex.h [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
tlb.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
tlbflush.h [ARM] 5192/1: ARM TLB: add v7wbi_{possible,always}_flags to {possible,always}_tlb_flags 2008-08-12 19:54:08 +01:00
topology.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
traps.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
types.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
uaccess.h [ARM] 5230/1: Replace post-indexed LDRT/STRT in uaccess.h 2008-09-01 12:06:35 +01:00
ucontext.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
unaligned.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
unistd.h [ARM] 5193/1: Wire up missing syscalls 2008-08-12 19:54:07 +01:00
user.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
vfp.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
vfpmacros.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00
vga.h [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
xor.h [ARM] move include/asm-arm to arch/arm/include/asm 2008-08-02 21:32:35 +01:00