generic/633: adapt execveat() invocations
There's a push by Ariadne to enforce that argv[0] cannot be NULL. So far
we've allowed this. Fix the execveat() invocations to set argv[0] to the
name of the file we're about to execute.
Cc: Ariadne Conill <ariadne@dereferenced.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Rich Felker <dalias@libc.org>
Cc: Eryu Guan <guaneryu@gmail.com>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: fstests@vger.kernel.org
Cc: linux-fsdevel@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Link: https://lore.kernel.org/lkml/20220127000724.15106-1-ariadne@dereferenced.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
diff --git a/src/idmapped-mounts/idmapped-mounts.c b/src/idmapped-mounts/idmapped-mounts.c
index 4cf6c3b..76b559a 100644
--- a/src/idmapped-mounts/idmapped-mounts.c
+++ b/src/idmapped-mounts/idmapped-mounts.c
@@ -3598,7 +3598,7 @@
NULL,
};
static char *argv[] = {
- NULL,
+ "",
};
if (!expected_uid_gid(t_dir1_fd, FILE1, 0, 5000, 5000))
@@ -3726,7 +3726,7 @@
NULL,
};
static char *argv[] = {
- NULL,
+ "",
};
if (!expected_uid_gid(open_tree_fd, FILE1, 0, 15000, 15000))
@@ -3865,7 +3865,7 @@
NULL,
};
static char *argv[] = {
- NULL,
+ "",
};
if (!switch_userns(attr.userns_fd, 0, 0, false))
@@ -3924,7 +3924,7 @@
NULL,
};
static char *argv[] = {
- NULL,
+ "",
};
if (!caps_supported()) {
@@ -3992,7 +3992,7 @@
NULL,
};
static char *argv[] = {
- NULL,
+ "",
};
if (!switch_userns(attr.userns_fd, 0, 0, false))
@@ -4150,7 +4150,7 @@
NULL,
};
static char *argv[] = {
- NULL,
+ "",
};
userns_fd = get_userns_fd(0, 10000, 10000);
@@ -4214,7 +4214,7 @@
NULL,
};
static char *argv[] = {
- NULL,
+ "",
};
userns_fd = get_userns_fd(0, 10000, 10000);
@@ -4286,7 +4286,7 @@
NULL,
};
static char *argv[] = {
- NULL,
+ "",
};
userns_fd = get_userns_fd(0, 10000, 10000);