|
@@ -645,11 +645,12 @@ out:
|
|
|
|
|
|
static unsigned long randomize_stack_top(unsigned long stack_top)
|
|
static unsigned long randomize_stack_top(unsigned long stack_top)
|
|
{
|
|
{
|
|
- unsigned int random_variable = 0;
|
|
|
|
|
|
+ unsigned long random_variable = 0;
|
|
|
|
|
|
if ((current->flags & PF_RANDOMIZE) &&
|
|
if ((current->flags & PF_RANDOMIZE) &&
|
|
!(current->personality & ADDR_NO_RANDOMIZE)) {
|
|
!(current->personality & ADDR_NO_RANDOMIZE)) {
|
|
- random_variable = get_random_int() & STACK_RND_MASK;
|
|
|
|
|
|
+ random_variable = (unsigned long) get_random_int();
|
|
|
|
+ random_variable &= STACK_RND_MASK;
|
|
random_variable <<= PAGE_SHIFT;
|
|
random_variable <<= PAGE_SHIFT;
|
|
}
|
|
}
|
|
#ifdef CONFIG_STACK_GROWSUP
|
|
#ifdef CONFIG_STACK_GROWSUP
|