diff --git a/src/tests/vm/mmap-over-code.c b/src/tests/vm/mmap-over-code.c new file mode 100644 index 0000000000000000000000000000000000000000..d3619a3ecc6b2048369b4020eec303545f11a7ad --- /dev/null +++ b/src/tests/vm/mmap-over-code.c @@ -0,0 +1,19 @@ +/* Verifies that mapping over the code segment is disallowed. */ + +#include <stdint.h> +#include <round.h> +#include <syscall.h> +#include "tests/lib.h" +#include "tests/main.h" + +void +test_main (void) +{ + uintptr_t test_main_page = ROUND_DOWN ((uintptr_t) test_main, 4096); + int handle; + + CHECK ((handle = open ("sample.txt")) > 1, "open \"sample.txt\""); + CHECK (mmap (handle, (void *) test_main_page) == MAP_FAILED, + "try to mmap over code segment"); +} +