1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <stdio.h>
2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <stdlib.h>
3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include "tests/sys_mman.h"
4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownint main(int argc, char **argv)
6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{
7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   void *a1;
8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   if ((a1 = mmap((void *)0x200000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0)) == MAP_FAILED)
10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   {
11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      perror("mmap1");
12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      exit(1);
13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   }
14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   if (munmap(a1, 4096) < 0)
16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   {
17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      perror("munmap1");
18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      exit(1);
19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   }
20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   if (mmap((void *)0x100000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) == MAP_FAILED)
22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   {
23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      perror("mmap2");
24ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      exit(1);
25ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   }
26ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
27ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   if (mmap((void *)0x100000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) == MAP_FAILED)
28ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   {
29ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      perror("mmap2");
30ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown      exit(1);
31ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   }
32ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
33ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   printf("success\n");
34ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   exit(0);
35ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
36