Commit | Line | Data |
---|---|---|
4d0c04ea CJ |
1 | // SPDX-License-Identifier: GPL-2.0-only |
2 | #include <sys/mman.h> | |
3 | #include <testcases/mmap_test.h> | |
4 | ||
5 | #include "../../kselftest_harness.h" | |
6 | ||
7 | TEST(infinite_rlimit) | |
8 | { | |
9 | // Only works on 64 bit | |
10 | #if __riscv_xlen == 64 | |
11 | struct addresses mmap_addresses; | |
12 | ||
13 | EXPECT_EQ(BOTTOM_UP, memory_layout()); | |
14 | ||
15 | do_mmaps(&mmap_addresses); | |
16 | ||
17 | EXPECT_NE(MAP_FAILED, mmap_addresses.no_hint); | |
18 | EXPECT_NE(MAP_FAILED, mmap_addresses.on_37_addr); | |
19 | EXPECT_NE(MAP_FAILED, mmap_addresses.on_38_addr); | |
20 | EXPECT_NE(MAP_FAILED, mmap_addresses.on_46_addr); | |
21 | EXPECT_NE(MAP_FAILED, mmap_addresses.on_47_addr); | |
22 | EXPECT_NE(MAP_FAILED, mmap_addresses.on_55_addr); | |
23 | EXPECT_NE(MAP_FAILED, mmap_addresses.on_56_addr); | |
24 | ||
25 | EXPECT_GT(1UL << 47, (unsigned long)mmap_addresses.no_hint); | |
26 | EXPECT_GT(1UL << 38, (unsigned long)mmap_addresses.on_37_addr); | |
27 | EXPECT_GT(1UL << 38, (unsigned long)mmap_addresses.on_38_addr); | |
28 | EXPECT_GT(1UL << 38, (unsigned long)mmap_addresses.on_46_addr); | |
29 | EXPECT_GT(1UL << 47, (unsigned long)mmap_addresses.on_47_addr); | |
30 | EXPECT_GT(1UL << 47, (unsigned long)mmap_addresses.on_55_addr); | |
31 | EXPECT_GT(1UL << 56, (unsigned long)mmap_addresses.on_56_addr); | |
32 | #endif | |
33 | } | |
34 | ||
35 | TEST_HARNESS_MAIN |