lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220131150819.iuqlz3rz6q7cheap@wittgenstein>
Date:   Mon, 31 Jan 2022 16:08:19 +0100
From:   Christian Brauner <brauner@...nel.org>
To:     kernel test robot <oliver.sang@...el.com>,
        Kees Cook <keescook@...omium.org>,
        Ariadne Conill <ariadne@...eferenced.org>
Cc:     Ariadne Conill <ariadne@...eferenced.org>,
        0day robot <lkp@...el.com>,
        Michael Kerrisk <mtk.manpages@...il.com>,
        Matthew Wilcox <willy@...radead.org>,
        Rich Felker <dalias@...c.org>,
        Eric Biederman <ebiederm@...ssion.com>,
        Alexander Viro <viro@...iv.linux.org.uk>,
        LKML <linux-kernel@...r.kernel.org>, lkp@...ts.01.org,
        Andrew Morton <akpm@...ux-foundation.org>,
        linux-fsdevel@...r.kernel.org, linux-mm@...ck.org,
        stable@...r.kernel.org
Subject: Re: [fs/exec]  80bd5afdd8: xfstests.generic.633.fail

On Mon, Jan 31, 2022 at 10:43:52PM +0800, kernel test robot wrote:
> 
> 
> Greeting,
> 
> FYI, we noticed the following commit (built with gcc-9):
> 
> commit: 80bd5afdd8568e41fc3a75c695bb179e0d9eee4d ("[PATCH v3] fs/exec: require argv[0] presence in do_execveat_common()")
> url: https://github.com/0day-ci/linux/commits/Ariadne-Conill/fs-exec-require-argv-0-presence-in-do_execveat_common/20220127-080829
> base: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git 2c271fe77d52a0555161926c232cd5bc07178b39
> patch link: https://lore.kernel.org/lkml/20220127000724.15106-1-ariadne@dereferenced.org
> 
> in testcase: xfstests
> version: xfstests-x86_64-972d710-1_20220127
> with following parameters:
> 
> 	disk: 4HDD
> 	fs: f2fs
> 	test: generic-group-31
> 	ucode: 0xe2
> 
> test-description: xfstests is a regression test suite for xfs and other files ystems.
> test-url: git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git
> 
> 
> on test machine: 4 threads Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz with 32G memory
> 
> caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
> 
> 
> 
> 
> If you fix the issue, kindly add following tag
> Reported-by: kernel test robot <oliver.sang@...el.com>
> 
> 
> 
> user  :warn  : [  208.077271] run fstests generic/633 at 2022-01-30 04:50:49
> kern  :warn  : [  208.529090] Attempted to run process '/dev/fd/5/file1' with NULL argv
> user  :notice: [  208.806756] generic/633       [failed, exit status 1]- output mismatch (see /lkp/benchmarks/xfstests/results//generic/633.out.bad)
> 
> user  :notice: [  208.826454]     --- tests/generic/633.out     2022-01-27 11:54:16.000000000 +0000
> 
> user  :notice: [  208.842458]     +++ /lkp/benchmarks/xfstests/results//generic/633.out.bad     2022-01-30 04:50:49.769538285 +0000
> 
> user  :notice: [  208.859622]     @@ -1,2 +1,4 @@
> 
> user  :warn  : [  208.860623] run fstests generic/634 at 2022-01-30 04:50:49
> user  :notice: [  208.866037]      QA output created by 633
> 
> user  :notice: [  208.889262]      Silence is golden
> 
> user  :notice: [  208.901240]     +idmapped-mounts.c: 3608: setid_binaries - Invalid argument - failure: sys_execveat

This is from the generic part of the vfs testsuite.
It verifies that set*id binaries are executed with the right e{g,u}id.
Part of that test calls execveat() as:

static char *argv[] = {
	NULL,
};

static char *envp[] = {
	"EXPECTED_EUID=5000",
	"EXPECTED_EGID=5000",
	NULL,
};

syscall(__NR_execveat, fd, some_path, argv, envp, 0);

I can fix this rather simply in our upstream fstests with:

static char *argv[] = {
	"",
};

I guess.

But doesn't

static char *argv[] = {
	NULL,
};

seem something that should work especially with execveat()?

Christian

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ