summaryrefslogtreecommitdiffstats
path: root/src/tests/vm/mmap-over-data.c
blob: 9ea5d492e631f0049959e9740a459896197a7bcc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* Verifies that mapping over the data segment is disallowed. */

#include <stdint.h>
#include <round.h>
#include <syscall.h>
#include "tests/lib.h"
#include "tests/main.h"

static char x;

void
test_main (void) 
{
  uintptr_t x_page = ROUND_DOWN ((uintptr_t) &x, 4096);
  int handle;
  
  CHECK ((handle = open ("sample.txt")) > 1, "open \"sample.txt\"");
  CHECK (mmap (handle, (void *) x_page) == MAP_FAILED,
         "try to mmap over data segment");
}