Re: [PATCH] selftests/exec: Avoid future NULL argv execve warning

From: Alexey Dobriyan
Date: Wed Feb 02 2022 - 16:00:40 EST


On Wed, Feb 02, 2022 at 10:38:57AM -0700, Shuah Khan wrote:
> On 2/2/22 8:13 AM, Alexey Dobriyan wrote:
> > On Mon, Jan 31, 2022 at 04:08:07PM -0800, Kees Cook wrote:
> > > Build actual argv for launching recursion test to avoid future warning
> > > about using an empty argv in execve().
> >
> > > --- a/tools/testing/selftests/exec/recursion-depth.c
> > > +++ b/tools/testing/selftests/exec/recursion-depth.c
> > > @@ -24,8 +24,14 @@
> > > #include <sys/mount.h>
> > > #include <unistd.h>
> > > +#define FILENAME "/tmp/1"
> > > +#define HASHBANG "#!" FILENAME "\n"
> > > +
> > > int main(void)
> > > {
> > > + char * const argv[] = { FILENAME, NULL };
> > > + int rv;
> >
> > Can we move out of -Wdeclaration-after-statement mentality in tests at least?
>
> selftest like the rest of the kernel follows the same coding guidelines.
> It will follow the moving "-Wdeclaration-after-statement mentality" when
> the rest of the kernel does.
>
> Looks like this topic was discussed in the following:
> https://patchwork.kernel.org/project/linux-kbuild/patch/c6fda26e8d134264b04fadc3386d6c32@xxxxxxxxx/

The only real argument is "gcc miscompiles /proc" to which adding -Wdeclaration-after-statement
looks like a too big hammer.

Why can't we have nice things?