diff --git a/src/tests/vm/mmap-over-data.c b/src/tests/vm/mmap-over-data.c new file mode 100644 index 0000000000000000000000000000000000000000..9ea5d492e631f0049959e9740a459896197a7bcc --- /dev/null +++ b/src/tests/vm/mmap-over-data.c @@ -0,0 +1,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"); +} +