Re: [PATCH] kconfig: add kconfig-sym-check static checker

From: Nathan Chancellor

Date: Sun May 17 2026 - 00:26:20 EST


On Fri, May 15, 2026 at 09:08:07PM +0200, Nicolas Schier wrote:
> On Thu, May 14, 2026 at 10:32:12PM +0900, Nathan Chancellor wrote:
> > On Wed, 13 May 2026 16:03:29 -0500, Andrew Jones <andrew.jones@xxxxxxxxx> wrote:
> [...]
> > >
> > > diff --git a/scripts/kconfig/kconfig-sym-check.pl b/scripts/kconfig/kconfig-sym-check.pl
> > > new file mode 100755
> > > index 000000000000..a6907e585962
> > > --- /dev/null
> > > +++ b/scripts/kconfig/kconfig-sym-check.pl
> > > @@ -0,0 +1,93 @@
> > > +#!/usr/bin/env perl
> > > +# SPDX-License-Identifier: GPL-2.0
> > > +
> > > +use warnings;
> > > +use strict;
> > > +
> > > +my $kconfig_sym_check_excludes = undef;
> > > +$kconfig_sym_check_excludes = $ARGV[0] if (defined $ARGV[0]);
> > > +
> > > +my @files = `git ls-files '*Kconfig*'`;
> >
> > What happens if you run this command on a release tarball? We should
> > probably use something like
> >
> > find $(srctree) -name '*Kconfig*'
>
> not fully related, but that reminds me to this thread:
> https://lore.kernel.org/linux-kbuild/CAK7LNATJ-3JQ0QQGQ5R+R8aBJEq-tmBL8iBZrbM_4t0zeoYTaw@xxxxxxxxxxxxxx/#r

Ah yeah, that is definitely worth keeping in mind for the future. I feel
like 'find' is not "more complicated" than 'git ls-files' in this case,
so I will assume that such an objection would not really hold here
(especially since it would help people with development of fresh Kconfig
files that have not been committed yet). If we did want to rely on 'git
ls-files', we should at least error gracefully if we are not in a git
checkout.

--
Cheers,
Nathan