#define _GNU_SOURCE 1 #include #include #include #include #include #include #include "./test_chk.h" #define TEST_NAME "CT_003" #define MAP_SIZE 0x2000000 int main(int argc, char **argv) { void *map, *remap; int __errno; printf("*** %s start *******************************\n", TEST_NAME); map = mmap(0, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); OKNG(map == MAP_FAILED, "mmap returned :%p", map); errno = 0; remap = mremap(map, 0xffffffffffffe000, 0xffffffffffffe000, 0); __errno = errno; OKNG(remap != map, "mremap returned :%p" " (expect return is %p)", remap, map); OKNG(__errno != 0, "errno after mremap :%d" " (expect error is 0)", __errno); printf("*** %s PASSED\n\n", TEST_NAME); return 0; fn_fail: printf("*** %s FAILED\n\n", TEST_NAME); return -1; }