Several fixes for 64-big from Gerhard Tonn.
diff --git a/testcases/kernel/syscalls/chroot/chroot03.c b/testcases/kernel/syscalls/chroot/chroot03.c
index 9befbdd..231eb93 100644
--- a/testcases/kernel/syscalls/chroot/chroot03.c
+++ b/testcases/kernel/syscalls/chroot/chroot03.c
@@ -62,6 +62,7 @@
#include <stdio.h>
#include <errno.h>
#include <sys/stat.h>
+#include <sys/mman.h>
#include <test.h>
#include <usctest.h>
@@ -105,6 +106,8 @@
{(char *)-1, EFAULT}
};
+char * bad_addr = 0;
+
void setup(void);
void cleanup(void);
@@ -186,6 +189,12 @@
* directory does not exist.
*/
(void)sprintf(good_dir, "%s.%d", good_dir, getpid());
+
+ bad_addr = mmap(0, 1, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0);
+ if (bad_addr <= 0) {
+ tst_brkm(TBROK, cleanup, "mmap failed");
+ }
+ TC[3].dir = bad_addr;
}