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]
Date:   Tue, 16 May 2017 12:43:08 +0300
From:   Dan Carpenter <dan.carpenter@...cle.com>
To:     Randy Dunlap <rdunlap@...radead.org>
Cc:     linux-kbuild <linux-kbuild@...r.kernel.org>,
        LKML <linux-kernel@...r.kernel.org>, smatch@...r.kernel.org
Subject: Re: sparse on scripts/kconfig/*.c

On Mon, May 15, 2017 at 11:00:22AM -0700, Randy Dunlap wrote:
> On 05/10/17 13:53, Dan Carpenter wrote:
> > I have created some new tools to make this process easier.
> > 
> > 1) First you still have to edit the Makefile:
> > 
> > -HOSTCC       = gcc
> > +HOSTCC       = ~/progs/smatch/devel/cgcc
> > 
> > 2) Build the data with this command:
> > 
> > 	~/progs/smatch/devel/smatch_scripts/build_generic_data.sh --target scripts/
> > 
> > The --target scripts/ is because we want to run smatch on the scripts/
> > directory.
> > 
> > 3) Run smatch:
> > 
> > 	~/progs/smatch/devel/smatch_scripts/test_generic.sh --target scripts/
> > 
> > I just wrote this code today so it might be a bit rough perhaps.  Let me
> > know if you have any issues.  It doesn't find anything like I said
> > before, but hopefully this can help other people who want to run Smatch
> > on user space code.
> 
> Thanks, Dan.
> 
> I get this when running build_generic_data.sh:
> 
> readline() on closed filehandle FILE at /home/rdunlap/projects/smatch/smatch_scripts/../smatch_data/db/fill_db_caller_info.pl line 33.
> 

Thanks, I will push a fix for this later today.

> I see scripts/mod/* being built/checked ... but not scripts/kconfig/*.
> 
> Any ideas?
> 

Hm...  It turns out we need to do a `make mrproper` between runs.

make mrproper ; make allmodconfig ; ~/progs/smatch/release/smatch_scripts/build_generic_data.sh --target scripts/
make mrproper ; make allmodconfig ; ~/progs/smatch/release/smatch_scripts/test_generic.sh --target scripts/

When I remove the grep out the autogenerated code this is what is left
grep -v .lex.c smatch_warns.txt | grep -v .tab.c

scripts/kconfig/expr.c:1027 expr_compare_type() info: ignoring unreachable code.
scripts/kconfig/symbol.c:1152 sym_check_print_recursive() error: we previously assumed 'prop' could be null (see line 1144)
scripts/kconfig/symbol.c:1153 sym_check_print_recursive() warn: curly braces intended?
scripts/kconfig/symbol.c:1155 sym_check_print_recursive() warn: inconsistent indenting
scripts/kconfig/menu.c:662 get_symbol_str() error: we previously assumed 'sym' could be null (see line 649)
scripts/mod/modpost.c:460 parse_elf() info: ignoring unreachable code.
scripts/mod/modpost.c:504 parse_elf() info: ignoring unreachable code.

regards,
dan carpenter

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ