LWN.net Logo

smatch 1.55 released

From:  Dan Carpenter <error27@gmail.com>
To:  kernel-janitors@vger.kernel.org
Subject:  smatch 1.55 released
Date:  Thu, 27 May 2010 00:34:17 +0200
Message-ID:  <20100526223417.GP22515@bicker>
Cc:  linux-kernel@vger.kernel.org
Archive-link:  Article, Thread

Smatch is a static checker for C.  The core parts basically do flow
analysis and then there are project specific checks as well.  The
website is:  http://smatch.sf.net

To use it do:
	git clone git://repo.or.cz/smatch.git
	cd smatch ; make ; cd /usr/src/kernel
	make CHECK="~/path/to/smatch/smatch -p=kernel" C=1 \
                   bzImage modules | tee warns.txt

Things that have changed since 1.54:
* The array overflow check is now useful.
* There is a new check for precedence bugs caused by macro expansion.
* The checks for null pointer dereferences were rewritten and now have
    fewer false positives.
* Some kernel specific tests were added for kunmap(),
    release_resource(), resource_size(), and mod_timer().

Major Bugs:
* Smatch doesn't handle loops correctly.
* It doesn't do cross function analysis.
* It doesn't understand code like this:
	foo->bar = NULL;
	foo = not_null();
	foo->bar->baz;  // <- Smatch complains about a null dereference.
* Too many false positives generally.

Anyway, please test it out.  :)

regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds