CS318 - Pintos
Pintos source browser for JHU CS318 course
src
tests
vm
mmap-overlap.c
Go to the documentation of this file.
1
/** Verifies that overlapping memory mappings are disallowed. */
2
3
#include <syscall.h>
4
#include "tests/vm/sample.inc"
5
#include "
tests/lib.h
"
6
#include "
tests/main.h
"
7
8
void
9
test_main
(
void
)
10
{
11
char
*
start
= (
char
*) 0x10000000;
12
int
fd[2];
13
14
CHECK
((fd[0] =
open
(
"zeros"
)) > 1,
"open \"zeros\" once"
);
15
CHECK
(
mmap
(fd[0],
start
) !=
MAP_FAILED
,
"mmap \"zeros\""
);
16
CHECK
((fd[1] =
open
(
"zeros"
)) > 1 && fd[0] != fd[1],
17
"open \"zeros\" again"
);
18
CHECK
(
mmap
(fd[1],
start
+ 4096) ==
MAP_FAILED
,
19
"try to mmap \"zeros\" again"
);
20
}
lib.h
start
char * start[]
Insult.c.
Definition:
insult.c:13
CHECK
#define CHECK(SUCCESS,...)
Takes an expression to test for SUCCESS and a message, which may include printf-style arguments.
Definition:
lib.h:29
test_main
void test_main(void)
Verifies that overlapping memory mappings are disallowed.
Definition:
mmap-overlap.c:9
MAP_FAILED
#define MAP_FAILED
Definition:
syscall.h:13
open
int open(const char *file)
Definition:
syscall.c:103
main.h
mmap
mapid_t mmap(int fd, void *addr)
Project 3 and optionally project 4.
Definition:
syscall.c:145
Generated on Thu Aug 22 2019 10:19:15 for CS318 - Pintos by
1.8.16