mirror of https://gitee.com/openkylin/linux.git
selftests/powerpc: Update the stack expansion test
Update the stack expansion load/store test to take into account the new allowance of 4224 bytes below the stack pointer. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200724092528.1578671-3-mpe@ellerman.id.au
This commit is contained in:
parent
63dee5df43
commit
9ee571d84b
|
@ -186,17 +186,17 @@ static void test_one_type(enum access_type type, unsigned long page_size, unsign
|
|||
// But if we go past the rlimit it should fail
|
||||
assert(test_one(DEFAULT_SIZE, rlim_cur + 1, type) != 0);
|
||||
|
||||
// Above 1MB powerpc only allows accesses within 2048 bytes of
|
||||
// Above 1MB powerpc only allows accesses within 4224 bytes of
|
||||
// r1 for accesses that aren't stdu
|
||||
assert(test_one(1 * _MB + page_size - 128, -2048, type) == 0);
|
||||
assert(test_one(1 * _MB + page_size - 128, -4224, type) == 0);
|
||||
#ifdef __powerpc__
|
||||
assert(test_one(1 * _MB + page_size - 128, -2049, type) != 0);
|
||||
assert(test_one(1 * _MB + page_size - 128, -4225, type) != 0);
|
||||
#else
|
||||
assert(test_one(1 * _MB + page_size - 128, -2049, type) == 0);
|
||||
assert(test_one(1 * _MB + page_size - 128, -4225, type) == 0);
|
||||
#endif
|
||||
|
||||
// By consuming 2MB of stack we test the stdu case
|
||||
assert(test_one(2 * _MB + page_size - 128, -2048, type) == 0);
|
||||
assert(test_one(2 * _MB + page_size - 128, -4224, type) == 0);
|
||||
}
|
||||
|
||||
static int test(void)
|
||||
|
|
Loading…
Reference in New Issue