diff --git a/src/tests/vm/mmap-bad-fd.c b/src/tests/vm/mmap-bad-fd.c
new file mode 100644
index 0000000000000000000000000000000000000000..76a7b50e1092bc95f29d067c353a470dd5fac368
--- /dev/null
+++ b/src/tests/vm/mmap-bad-fd.c
@@ -0,0 +1,15 @@
+/* Tries to mmap an invalid fd,
+   which must either fail silently or terminate the process with
+   exit code -1. */
+
+#include <syscall.h>
+#include "tests/lib.h"
+#include "tests/main.h"
+
+void
+test_main (void) 
+{
+  CHECK (mmap (0x5678, (void *) 0x10000000) == MAP_FAILED,
+         "try to mmap invalid fd");
+}
+