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: <20250611175052.GA2307190@ax162>
Date: Wed, 11 Jun 2025 10:50:52 -0700
From: Nathan Chancellor <nathan@...nel.org>
To: Dan Carpenter <dan.carpenter@...aro.org>
Cc: Naresh Kamboju <naresh.kamboju@...aro.org>,
	clang-built-linux <llvm@...ts.linux.dev>,
	"open list:KERNEL SELFTEST FRAMEWORK" <linux-kselftest@...r.kernel.org>,
	open list <linux-kernel@...r.kernel.org>,
	lkft-triage@...ts.linaro.org,
	Anders Roxell <anders.roxell@...aro.org>,
	Arnd Bergmann <arnd@...db.de>, Sasha Levin <sashal@...nel.org>
Subject: Re: selftests/filesystem: clang warning null passed to a callee that
 requires a non-null argument [-Wnonnull]

On Wed, Jun 11, 2025 at 07:47:39PM +0300, Dan Carpenter wrote:
> This seems like a Clang bug, right?  The test for _Nullable is reversed
> or something?

My copy of unistd.h has

  /* Execute program relative to a directory file descriptor.  */
  extern int execveat (int __fd, const char *__path, char *const __argv[],
                       char *const __envp[], int __flags)
      __THROW __nonnull ((2, 3));

so I think the warning is valid in this case. I will note that
tools/testing/selftests/exec/recursion-depth.c uses execve() with a NULL
argv and disables -Wnonnull so maybe that should happen for this test
case too? Or should that NULL be changed into a ""?

> On Thu, Jun 05, 2025 at 05:41:01PM +0530, Naresh Kamboju wrote:
> > Regressions found on arm, arm64 and x86_64 building warnings with clang-20
> > and clang-nightly started from Linux next-20250603
> > 
> > Regressions found on arm, arm64 and x86_64
> >  - selftests/filesystem
> > 
> > Regression Analysis:
> >  - New regression? Yes
> >  - Reproducible? Yes
> > 
> > First seen on the next-20250603
> > Good: next-20250530
> > Bad:  next-20250603
> > 
> > Test regression: arm arm64 x86_64 clang warning null passed to a
> > callee that requires a non-null argument [-Wnonnull]
> > 
> > Reported-by: Linux Kernel Functional Testing <lkft@...aro.org>
> > 
> > ## Build warnings
> > make[4]: Entering directory '/builds/linux/tools/testing/selftests/filesystems'
> >   CC       devpts_pts
> >   CC       file_stressor
> >   CC       anon_inode_test
> > anon_inode_test.c:45:37: warning: null passed to a callee that
> > requires a non-null argument [-Wnonnull]
> >    45 |         ASSERT_LT(execveat(fd_context, "", NULL, NULL,
> > AT_EMPTY_PATH), 0);
> >       |                                            ^~~~
> > 
> > ## Source
> > * Kernel version: 6.15.0-next-20250605
> > * Git tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next.git
> > * Git sha: a0bea9e39035edc56a994630e6048c8a191a99d8
> > * Toolchain: Debian clang version 21.0.0
> > (++20250529012636+c474f8f2404d-1~exp1~20250529132821.1479)
> > 
> > ## Build
> > * Test log: https://qa-reports.linaro.org/api/testruns/28651387/log_file/
> > * Build link: https://storage.tuxsuite.com/public/linaro/lkft/builds/2xzM4wMl8SvuLKE3mw3csiuv3Jz/
> > * Kernel config:
> > https://storage.tuxsuite.com/public/linaro/lkft/builds/2xzM4wMl8SvuLKE3mw3csiuv3Jz/config
> > 
> > --
> > Linaro LKFT
> > https://lkft.linaro.org

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ