36 lines
1.1 KiB
C
36 lines
1.1 KiB
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
#include <sys/mman.h>
|
|
#include <mmap_test.h>
|
|
|
|
#include "../../kselftest_harness.h"
|
|
|
|
TEST(infinite_rlimit)
|
|
{
|
|
// Only works on 64 bit
|
|
#if __riscv_xlen == 64
|
|
struct addresses mmap_addresses;
|
|
|
|
EXPECT_EQ(BOTTOM_UP, memory_layout());
|
|
|
|
do_mmaps(&mmap_addresses);
|
|
|
|
EXPECT_NE(MAP_FAILED, mmap_addresses.no_hint);
|
|
EXPECT_NE(MAP_FAILED, mmap_addresses.on_37_addr);
|
|
EXPECT_NE(MAP_FAILED, mmap_addresses.on_38_addr);
|
|
EXPECT_NE(MAP_FAILED, mmap_addresses.on_46_addr);
|
|
EXPECT_NE(MAP_FAILED, mmap_addresses.on_47_addr);
|
|
EXPECT_NE(MAP_FAILED, mmap_addresses.on_55_addr);
|
|
EXPECT_NE(MAP_FAILED, mmap_addresses.on_56_addr);
|
|
|
|
EXPECT_GT(1UL << 47, (unsigned long)mmap_addresses.no_hint);
|
|
EXPECT_GT(1UL << 38, (unsigned long)mmap_addresses.on_37_addr);
|
|
EXPECT_GT(1UL << 38, (unsigned long)mmap_addresses.on_38_addr);
|
|
EXPECT_GT(1UL << 38, (unsigned long)mmap_addresses.on_46_addr);
|
|
EXPECT_GT(1UL << 47, (unsigned long)mmap_addresses.on_47_addr);
|
|
EXPECT_GT(1UL << 47, (unsigned long)mmap_addresses.on_55_addr);
|
|
EXPECT_GT(1UL << 56, (unsigned long)mmap_addresses.on_56_addr);
|
|
#endif
|
|
}
|
|
|
|
TEST_HARNESS_MAIN
|