linux/arch/sparc/kernel
David S. Miller 5a0efea09f sparc64: Sharpen address space randomization calculations.
A recent patch to the x86 randomization code caused me to take
a quick look at what we do on sparc64, and in doing so I noticed
that we sometimes calculate a non-page-aligned randomization value
and stick it into mmap_base.

I also noticed that since I copied the logic over from PowerPC,
the powerpc code has tweaked the randomization ranges in ways that
would benefit us as well.

For one thing, we should allow up to at least 8MB of randomization
otherwise huge-page regions when HPAGE_SIZE is 4MB never randomize
at all.

And on the 64-bit side we were using up to 4GB.  Tone it down to
1GB as 4GB can result in a lot of address space wastage.

Finally, make sure all computations are unsigned.

Signed-off-by: David S. Miller <davem@davemloft.net>
2011-03-16 18:19:12 -07:00
..
.gitignore
apc.c dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
asm-offsets.c
audit.c
auxio_32.c sparc: explicitly cast negative phandle checks to s32 2011-01-03 20:02:06 -07:00
auxio_64.c dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
btext.c of/sparc: convert various prom_* functions to use phandle 2010-10-09 02:33:34 -06:00
central.c dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
cherrs.S
chmc.c dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
compat_audit.c
cpu.c sparc32/leon: FPU-FSR only available when FPU present 2011-03-16 18:19:05 -07:00
cpumap.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cpumap.h
devices.c of/sparc: convert various prom_* functions to use phandle 2010-10-09 02:33:34 -06:00
dma.c
ds.c
dtlb_miss.S
dtlb_prot.S
ebus.c
entry.h sparc64: rename virt_irq => irq - I 2011-03-16 18:19:03 -07:00
entry.S sparc64: Add syscall tracepoint support. 2009-12-11 00:44:47 -08:00
etrap_32.S
etrap_64.S
fpu_traps.S
ftrace.c sparc64: Add function graph tracer support. 2010-04-12 22:37:26 -07:00
getsetcc.S
head_32.S sparc: use _start for the start entry (like 64 bit does) 2011-01-04 19:25:04 -08:00
head_64.S
helpers.S sparc64: Fix perf_arch_get_caller_regs(). 2010-08-08 22:07:36 -07:00
hvapi.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hvcalls.S
hvtramp.S
idprom.c
init_task.c
iommu.c sparc: fix size argument to find_next_zero_bit() 2011-02-08 22:52:54 -08:00
iommu_common.h
ioport.c sparc: Fix sbus_alloc_coherent error handling. 2011-03-16 18:18:59 -07:00
irq.h
irq_32.c sparc32: irq_32.c cleanup 2011-03-16 18:19:11 -07:00
irq_64.c sparc64: rename virt_irq => irq - I 2011-03-16 18:19:03 -07:00
itlb_miss.S
ivec.S
jump_label.c jump label: Add sparc64 support 2010-09-22 16:35:09 -04:00
kernel.h sparc32: add irq + smp declarations to headers 2011-03-16 18:19:08 -07:00
kgdb_32.c kgdb,sparc: Add in kgdb_arch_set_pc for sparc 2010-05-20 21:04:19 -05:00
kgdb_64.c kgdb,sparc: Add in kgdb_arch_set_pc for sparc 2010-05-20 21:04:19 -05:00
kprobes.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
kstack.h sparc64: Run NMIs on the hardirq stack. 2010-04-14 02:04:29 -07:00
ktlb.S
ldc.c sparc: use bitmap_find_next_zero_area 2009-12-16 07:20:19 -08:00
led.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
leon_kernel.c SPARC/LEON: power down instruction different of different LEONs 2011-03-16 18:19:04 -07:00
leon_pmc.c SPARC/LEON: power down instruction different of different LEONs 2011-03-16 18:19:04 -07:00
leon_smp.c SPARC/LEON: power down instruction different of different LEONs 2011-03-16 18:19:04 -07:00
Makefile sparc32: remove tick14.c 2011-03-16 18:19:08 -07:00
mdesc.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
misctrap.S
module.c mm: unify module_alloc code for vmalloc 2011-01-13 17:32:34 -08:00
muldiv.c
nmi.c perf, arch: Cleanup perf-pmu init vs lockup-detector 2010-11-26 15:14:56 +01:00
of_device_32.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
of_device_64.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
of_device_common.c of: make of_find_device_by_node generic 2010-07-24 09:58:22 -06:00
of_device_common.h
pci.c sparc64: rename virt_irq => irq - II 2011-03-16 18:19:03 -07:00
pci_common.c of: Always use 'struct device.of_node' to get device node pointer. 2010-05-18 16:10:44 -06:00
pci_fire.c sparc64: rename virt_irq => irq - II 2011-03-16 18:19:03 -07:00
pci_impl.h sparc64: rename virt_irq => irq - II 2011-03-16 18:19:03 -07:00
pci_msi.c sparc64: rename virt_irq => irq - II 2011-03-16 18:19:03 -07:00
pci_psycho.c dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
pci_sabre.c dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
pci_schizo.c dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
pci_sun4v.c sparc64: rename virt_irq => irq - II 2011-03-16 18:19:03 -07:00
pci_sun4v.h
pci_sun4v_asm.S
pcic.c sparc: Switch do_timer() to xtime_update() 2011-01-31 14:55:46 +01:00
pcr.c sparc64: Fix NMI startup bug which also breaks perf. 2011-02-15 15:04:07 -08:00
perf_event.c perf: Dynamic pmu types 2010-12-16 11:36:43 +01:00
pmc.c dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
power.c dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
process_32.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
process_64.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2010-08-28 13:55:31 -07:00
prom.h of/promtree: make drivers/of/pdt.c no longer sparc-only 2010-10-10 21:53:30 -06:00
prom_32.c SPARC/LEON: avoid AMBAPP name duplicates in openprom fs when REG is missing 2011-01-04 11:16:37 -08:00
prom_64.c Merge commit 'v2.6.35-rc6' into devicetree/next 2010-07-24 09:49:13 -06:00
prom_common.c of/promtree: no longer call prom_ functions directly; use an ops structure 2010-10-12 21:57:53 -06:00
prom_irqtrans.c sparc64: rename virt_irq => irq - II 2011-03-16 18:19:03 -07:00
psycho_common.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
psycho_common.h sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
ptrace_32.c ptrace: cleanup arch_ptrace() on sparc 2010-10-27 18:03:12 -07:00
ptrace_64.c ptrace: cleanup arch_ptrace() on sparc 2010-10-27 18:03:12 -07:00
reboot.c
rtrap_32.S sparc: keep calling do_signal() as long as pending signals remain 2010-10-26 08:59:55 -07:00
rtrap_64.S sparc: keep calling do_signal() as long as pending signals remain 2010-10-26 08:59:55 -07:00
sbus.c sparc: remove references to of_device and to_of_device 2010-07-24 09:58:22 -06:00
setup_32.c sparc32: add irq + smp declarations to headers 2011-03-16 18:19:08 -07:00
setup_64.c of/sparc: convert various prom_* functions to use phandle 2010-10-09 02:33:34 -06:00
signal32.c sparc: Prevent no-handler signal syscall restart recursion. 2010-09-21 22:30:13 -07:00
signal_32.c sparc: Prevent no-handler signal syscall restart recursion. 2010-09-21 22:30:13 -07:00
signal_64.c sparc: Prevent no-handler signal syscall restart recursion. 2010-09-21 22:30:13 -07:00
smp_32.c
smp_64.c sparc64: Fix NMI startup bug which also breaks perf. 2011-02-15 15:04:07 -08:00
sparc_ksyms_32.c
sparc_ksyms_64.c sparc64: don't export static inline pci_ functions 2009-12-15 16:28:13 +10:30
spiterrs.S
sstate.c
stacktrace.c sparc64: Fix stack dumping and tracing when function graph is enabled. 2010-04-21 03:08:11 -07:00
starfire.c sparc: explicitly cast negative phandle checks to s32 2011-01-03 20:02:06 -07:00
sun4c_irq.c sparc32,sun4c: irq file cleanup 2011-03-16 18:19:09 -07:00
sun4d_irq.c sparc32, sun4d: add comment in empty statement in sun4d_request_irq() 2011-03-16 18:19:11 -07:00
sun4d_smp.c sparc32,sun4d: irq, smp files cleanup 2011-03-16 18:19:10 -07:00
sun4m_irq.c sparc32,sun4m: irq, smp files cleanup 2011-03-16 18:19:09 -07:00
sun4m_smp.c sparc32,sun4m: irq, smp files cleanup 2011-03-16 18:19:09 -07:00
sun4v_ivec.S
sun4v_tlb_miss.S
sys32.S sparc: Hook up new fanotify and prlimit64 syscalls. 2010-08-16 15:04:29 -07:00
sys_sparc32.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
sys_sparc_32.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
sys_sparc_64.c sparc64: Sharpen address space randomization calculations. 2011-03-16 18:19:12 -07:00
syscalls.S sparc64: Kill off old sys_perfctr system call and state. 2010-03-03 08:08:49 -08:00
sysfs.c arch/sparc/kernel: Use set_cpus_allowed_ptr 2010-03-27 21:11:56 -07:00
systbls.h improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
systbls_32.S sparc: Hook up new fanotify and prlimit64 syscalls. 2010-08-16 15:04:29 -07:00
systbls_64.S sparc: Hook up new fanotify and prlimit64 syscalls. 2010-08-16 15:04:29 -07:00
tadpole.c of/sparc: convert various prom_* functions to use phandle 2010-10-09 02:33:34 -06:00
time_32.c Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6 2011-03-16 17:28:10 -07:00
time_64.c dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
trampoline_32.S
trampoline_64.S
traps_32.c
traps_64.c tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
tsb.S sparc64: Fix sun4u execute bit check in TSB I-TLB load. 2010-02-19 15:19:52 -08:00
ttable.S sparc64: fix the build error due to smp_kgdb_capture_client() 2010-06-25 11:17:57 -07:00
una_asm_32.S sparc32: unaligned memory access (MNA) trap handler bug 2011-02-01 12:39:59 -08:00
una_asm_64.S
unaligned_32.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
unaligned_64.c sparc64: Use correct pt_regs in decode_access_size() error paths. 2010-04-19 13:46:48 -07:00
us2e_cpufreq.c arch/sparc/kernel: Use set_cpus_allowed_ptr 2010-03-27 21:11:56 -07:00
us3_cpufreq.c arch/sparc/kernel: Use set_cpus_allowed_ptr 2010-03-27 21:11:56 -07:00
utrap.S
vio.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
viohs.c
visemul.c sparc: Add alignment and emulation fault perf events. 2009-12-11 01:07:53 -08:00
vmlinux.lds.S percpu: align percpu readmostly subsection to cacheline 2011-01-25 14:26:50 +01:00
windows.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
winfixup.S
wof.S
wuf.S