All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: smatch@vger.kernel.org
Subject: smatch v1.71 released
Date: Tue, 26 Jan 2021 14:25:08 +0300	[thread overview]
Message-ID: <20210126112508.GY2696@kadam> (raw)

Intro:

Smatch is a C static checker with a lot of kernel specific checks.  You
can download it from:  http://repo.or.cz/w/smatch.git.  Or if you prefer
a github mirror, then you can download it from
https://github.com/error27/smatch

The last time I made a release was in 2015. https://lwn.net/Articles/629250/
There have been over two thousand patches to Smatch in the past six
years but it's hard to point to any one thing as standing out.  I guess,
one thing I'm happy about is that Smatch is now much better at tracking
user controlled data.  Another thing which I can mention that I re-wrote
check_locking.c and wrote a blog entry about it:
https://blogs.oracle.com/linux/writing-the-ultimate-locking-check

The uninitialized variable warning that I mentioned six years ago is
more important than ever now that we have disabled the GCC warning for
uninitialized variables.  I really suggest that people do add Smatch to
their QC process.  You don't have to have the full cross function
database built.  Just do:

	~/path/to/smatch/smatch_scripts/kchecker drivers/file.c

You could also just build a sub directory:

	~/path/to/smatch/smatch_scripts/kchecker drivers/subdir/

If you don't use Smatch, that's fine as well because kbuild bot will
catch it or I will catch it or someone else will.  But probably it saves
time for everyone if developers run it themselves.

Building the cross function database is also really useful.  The
~/path/to/smatch/smatch_data/db/smdb.py script is helpful to understand
how function pointers are called or where struct members are set.
Building the database takes a long time to run but it's simple to do:
~/path/to/smatch/smatch_scripts/build_kernel_data.sh
And to test the whole kernel the command is:
~/path/to/smatch/smatch_scripts/test_kernel.sh

This is kind of a weird release because it's been so long since the
previous release.  I'm hoping to do more regular releases with better
release notes.

regards,
dan carpenter

             reply	other threads:[~2021-01-26 11:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-26 11:25 Dan Carpenter [this message]
2021-01-26 11:30 ` smatch v1.71 released Dan Carpenter
  -- strict thread matches above, loose matches on Subject: below --
2021-01-28 13:54 Dan Carpenter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210126112508.GY2696@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=smatch@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.