Thread (3 messages) flat view 3 messages, 2 authors, 2015-06-26
DORMANTno replies

[PATCH v2] selftests/exec: Fix build on older distros.

From: Vinson Lee <hidden>
Date: 2015-06-26 23:11:42
Also in: lkml
Subsystem: exec & binfmt api, elf, kernel selftest framework, the rest · Maintainers: Kees Cook, Shuah Khan, Shuah Khan, Linus Torvalds

From: Vinson Lee <redacted>

This patch fixes this build error on CentOS 5.

execveat.c: In function ‘check_execveat_pathmax’:
execveat.c:185: error: ‘AT_EMPTY_PATH’ undeclared (first use in this function)
execveat.c:185: error: (Each undeclared identifier is reported only once
execveat.c:185: error: for each function it appears in.)
execveat.c: In function ‘run_tests’:
execveat.c:221: error: ‘O_PATH’ undeclared (first use in this function)
execveat.c:222: error: ‘O_CLOEXEC’ undeclared (first use in this function)
execveat.c:258: error: ‘AT_EMPTY_PATH’ undeclared (first use in this function)

Cc: stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org # 3.19+
Signed-off-by: Vinson Lee <redacted>
---
 tools/testing/selftests/exec/execveat.c | 34 +++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
diff --git a/tools/testing/selftests/exec/execveat.c b/tools/testing/selftests/exec/execveat.c
index 8d5d1d2..30d2555 100644
--- a/tools/testing/selftests/exec/execveat.c
+++ b/tools/testing/selftests/exec/execveat.c
@@ -20,6 +20,40 @@
 #include <string.h>
 #include <unistd.h>
 
+#if defined( __alpha__)
+# ifndef O_CLOEXEC
+#  define O_CLOEXEC	010000000
+# endif
+# ifndef O_PATH
+#  define O_PATH	040000000
+# endif
+#elif defined(__hppa__)
+# ifndef O_CLOEXEC
+#  define O_CLOEXEC	010000000
+# endif
+# ifndef O_PATH
+#  define O_PATH	020000000
+# endif
+#elif defined(__sparc__)
+# ifndef O_CLOEXEC
+#  define O_CLOEXEC	0x400000
+# endif
+# ifndef O_PATH
+#  define O_PATH 	0x1000000
+# endif
+#else
+# ifndef O_CLOEXEC
+#  define O_CLOEXEC	02000000
+# endif
+# ifndef O_PATH
+#  define O_PATH	010000000
+# endif
+#endif
+
+#ifndef AT_EMPTY_PATH
+# define AT_EMPTY_PATH	0x1000
+#endif
+
 static char longpath[2 * PATH_MAX] = "";
 static char *envp[] = { "IN_TEST=yes", NULL, NULL };
 static char *argv[] = { "execveat", "99", NULL };
-- 
1.8.2.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help