ANDROID: 16K: __PAGE_ALIGN randomize_stack_top() address

In page-compat mode, align the randomized stack by the emulated
page-size.

Bug: 383389337
Bug: 315325080
Bug: 302403436
Change-Id: If0d5ab3b996dfe934d0b5b701c16e8c2b1dcc910
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
This commit is contained in:
Kalesh Singh
2023-11-10 00:11:04 -08:00
committed by Carlos Llamas
parent 9ba9a0891b
commit ba166bce2c

View File

@@ -361,12 +361,12 @@ unsigned long randomize_stack_top(unsigned long stack_top)
if (current->flags & PF_RANDOMIZE) {
random_variable = get_random_long();
random_variable &= STACK_RND_MASK;
random_variable <<= PAGE_SHIFT;
random_variable <<= __PAGE_SHIFT;
}
#ifdef CONFIG_STACK_GROWSUP
return PAGE_ALIGN(stack_top) + random_variable;
return __PAGE_ALIGN(stack_top) + random_variable;
#else
return PAGE_ALIGN(stack_top) - random_variable;
return __PAGE_ALIGN(stack_top) - random_variable;
#endif
}