sparc64: Sharpen address space randomization calculations.
authorDavid S. Miller <davem@davemloft.net>
Fri, 18 Feb 2011 22:06:47 +0000 (14:06 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 17 Mar 2011 01:19:12 +0000 (18:19 -0700)
commit5a0efea09f42f7c92bd98a38d66b4dff9589266b
treef61f4d7e0e9f538110596899017b3a405964157e
parentfd49bf48cac7126a8311592bea56518529a223e2
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>
arch/sparc/kernel/sys_sparc_64.c