linux/arch/sparc64/kernel
Kirill Korotaev 3a45975681 [PATCH] IA64,sparc: local DoS with corrupted ELFs
This prevents cross-region mappings on IA64 and SPARC which could lead
to system crash.  They were correctly trapped for normal mmap() calls,
but not for the kernel internal calls generated by executable loading.

This code just moves the architecture-specific cross-region checks into
an arch-specific "arch_mmap_check()" macro, and defines that for the
architectures that needed it (ia64, sparc and sparc64).

Architectures that don't have any special requirements can just ignore
the new cross-region check, since the mmap() code will just notice on
its own when the macro isn't defined.

Signed-off-by: Pavel Emelianov <xemul@openvz.org>
Signed-off-by: Kirill Korotaev <dev@openvz.org>
Acked-by: David Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
[ Cleaned up to not affect architectures that don't need it ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-08 08:40:46 -07:00
..
asm-offsets.c kbuild: frv,m32r,sparc64 introduce fake asm-offsets.h file 2005-09-09 22:47:53 +02:00
auxio.c [SPARC64] auxio: Remove asm/{sbus,ebus}.h includes. 2006-06-29 16:37:55 -07:00
binfmt_aout32.c [SPARC64]: Top-down address space allocation for 32-bit tasks. 2006-03-20 01:16:35 -08:00
binfmt_elf32.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
central.c [SPARC64]: Convert central bus layer to in-kernel PROM device tree. 2006-06-23 23:15:32 -07:00
chmc.c [SPARC64]: Convert Cheetah memory controller driver to in-kernel PROM tree. 2006-06-23 23:15:34 -07:00
cpu.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
devices.c [SPARC]: Simplify and correct __cpu_find_by() 2006-07-21 14:18:15 -07:00
dtlb_miss.S [SPARC64]: More TLB/TSB handling fixes. 2006-03-20 01:13:34 -08:00
dtlb_prot.S [SPARC64]: Fix boot failures on SunBlade-150 2005-10-12 12:22:46 -07:00
ebus.c [PATCH] irq-flags: SPARC64: Use the new IRQF_ constants 2006-07-02 13:58:48 -07:00
entry.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
etrap.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
head.S [SPARC64]: Make sure IRQs are disabled properly during early boot. 2006-07-14 17:00:21 -07:00
idprom.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu_common.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu_common.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
isa.c [SPARC64]: of_device layer IRQ resolution 2006-06-29 16:37:38 -07:00
itlb_miss.S [SPARC64]: Fix _PAGE_EXEC handling. 2006-03-20 01:14:13 -08:00
kprobes.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ktlb.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
Makefile [SPARC64]: Add of_device layer and make ebus/isa use it. 2006-06-23 23:15:43 -07:00
module.c [SPARC]: Handle UNWIND_INFO properly. 2006-05-12 12:45:50 -07:00
of_device.c [SPARC64]: Fix more of_device layer IRQ bugs, and correct PROMREG_MAX. 2006-07-21 14:17:52 -07:00
pci_common.c [SPARC64]: of_device layer IRQ resolution 2006-06-29 16:37:38 -07:00
pci_impl.h [SPARC64]: Convert sparc64 PCI layer to in-kernel device tree. 2006-06-23 23:15:26 -07:00
pci_iommu.c [SPARC64]: Respect gfp_t argument to dma_alloc_coherent(). 2006-05-23 02:07:22 -07:00
pci_psycho.c [SPARC64] Fix PSYCHO PCI controler init. 2006-07-14 17:00:30 -07:00
pci_sabre.c [PATCH] irq-flags: SPARC64: Use the new IRQF_ constants 2006-07-02 13:58:48 -07:00
pci_schizo.c [PATCH] irq-flags: SPARC64: Use the new IRQF_ constants 2006-07-02 13:58:48 -07:00
pci_sun4v_asm.S [SPARC64]: Remove PGLIST_NENTS PCI IOMMU mapping limitation on SUN4V. 2006-03-20 01:13:41 -08:00
pci_sun4v.c [SPARC64]: of_device layer IRQ resolution 2006-06-29 16:37:38 -07:00
pci_sun4v.h [SPARC64]: Remove PGLIST_NENTS PCI IOMMU mapping limitation on SUN4V. 2006-03-20 01:13:41 -08:00
pci.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
power.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
process.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
prom.c [SPARC64]: Fix more of_device layer IRQ bugs, and correct PROMREG_MAX. 2006-07-21 14:17:52 -07:00
ptrace.c [PATCH] drop task argument of audit_syscall_{entry,exit} 2006-05-01 06:06:18 -04:00
rtrap.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sbus.c [PATCH] irq-flags: SPARC64: Use the new IRQF_ constants 2006-07-02 13:58:48 -07:00
semaphore.c [SPARC64]: Avoid membar instructions in delay slots. 2005-06-27 15:42:04 -07:00
setup.c [PATCH] tty: Remove include of screen_info.h from tty.h 2006-07-10 13:24:16 -07:00
signal32.c [SPARC]: Add support for *at(), ppoll, and pselect syscalls. 2006-01-19 02:42:49 -08:00
signal.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
smp.c [SPARC64]: Convert cpu_find_by_*() interface to in-kernel PROM device tree. 2006-06-23 23:15:17 -07:00
sparc64_ksyms.c [SPARC]: Kill prom_getname, unused and not implemented properly. 2006-07-21 14:17:55 -07:00
starfire.c [SPARC64]: Kill starfire_cookie from SBUS/PCI. 2006-06-29 16:37:08 -07:00
sun4v_ivec.S [SPARC64]: Move over to GENERIC_HARDIRQS. 2006-06-20 01:23:32 -07:00
sun4v_tlb_miss.S [SPARC64]: Add a secondary TSB for hugepage mappings. 2006-03-22 01:15:14 -08:00
sunos_ioctl32.c [SPARC]: Kill remaining kbio.h references. 2005-11-07 14:12:21 -08:00
sys32.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sys_sparc32.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sys_sparc.c [PATCH] IA64,sparc: local DoS with corrupted ELFs 2006-09-08 08:40:46 -07:00
sys_sunos32.c [PATCH] zoned vm counters: conversion of nr_pagecache to per zone counter 2006-06-30 11:25:34 -07:00
systbls.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
time.c [SPARC64]: Make sure IRQs are disabled properly during early boot. 2006-07-14 17:00:21 -07:00
trampoline.S [SPARC64]: Get SUN4V SMP working. 2006-03-20 01:13:22 -08:00
traps.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tsb.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ttable.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
una_asm.S [SPARC64]: Mark __ex_table section correctly. 2006-03-04 23:23:56 -08:00
unaligned.c [SPARC64]: Print symbol name of regs->tpc on kernel unaligned accesses. 2006-06-29 16:38:03 -07:00
us2e_cpufreq.c [SPARC64]: kzalloc() conversion 2006-03-20 01:14:19 -08:00
us3_cpufreq.c [SPARC64]: kzalloc() conversion 2006-03-20 01:14:19 -08:00
visemul.c [SPARC64]: First cut at VIS simulator for Niagara. 2006-03-20 01:14:26 -08:00
vmlinux.lds.S [SPARC64]: Rename gl_{1,2}insn_patch --> sun4v_{1,2}insn_patch 2006-03-20 01:11:53 -08:00
winfixup.S [SPARC64]: Fix unaligned access winfxup handling on SUN4V. 2006-03-20 01:13:39 -08:00