Browse Source

Fix exec-null test for newer kernels

Without this patch, since https://github.com/torvalds/linux/commit/dcd46d897adb70d63e025f175a00a89797d31a43
this test runs in infinite loop.

Signed-off-by: Yann Sionneau <ysionneau@kalrayinc.com>
Yann Sionneau 10 months ago
parent
commit
36e4ccc0a8
1 changed files with 6 additions and 1 deletions
  1. 6 1
      test/unistd/exec-null.c

+ 6 - 1
test/unistd/exec-null.c

@@ -4,7 +4,12 @@
 
 int main(int argc, char *argv[])
 {
-	if (argc == 0)
+	/* since Linux https://github.com/torvalds/linux/commit/dcd46d897adb70d63e025f175a00a89797d31a43
+	 * kernel forces an empty first arg if execve is called
+	 * with argv == NULL.
+	 * so we need to handle argc == 1 for newer kernel as well
+	 */
+	if (argc == 0 || argc == 1)
 		return 0;
 
 	char *exec_argv[1], *exec_envp[1];