From: Michael Stefaniuc <mstefani@redhat.com>
To: Dan Carpenter <error27@gmail.com>
Cc: smatch-discuss@lists.sourceforge.net, linux-sparse@vger.kernel.org
Subject: Re: Moving smatch to use sparse
Date: Fri, 06 Oct 2006 00:46:35 +0200 [thread overview]
Message-ID: <45258B4B.6010907@redhat.com> (raw)
In-Reply-To: <a63d67fe0610051358j6181f558p2baaf1b59b0a042e@mail.gmail.com>
Dan Carpenter wrote:
> On 10/5/06, Michael Stefaniuc <mstefani@redhat.com> wrote:
>> Dan Carpenter wrote:
>> > Work on smatch is going ahead. I have one real life check is working
>> > and I've added a patched up the core code quite a bit.
>> great work! What about the old smatch.pm and perl scripts? Will i be
>> still able to use those or would i have to port them over? I'm still
>> using the old smatch on checking Wine.
>
> They'll have to be ported I'm afraid.
That's not realy a problem especialy as i can keep using the old smatch
for a while.
> Rewrites are a pain, but it's worth it because now it's easier to
> install, it's easier to use, and it runs a bajillion times faster.
I'm more concerned about how easy it is to write new "scripts" or modify
existing ones. For Wine I use only unreached-code.pl as is. Due to the
Win32 API i had to modify unfree.pl quite a bit.
> Using sparse also buys us a bunch of features for free, for example if
> you have 'i' defined in two different scopes with sparse handles that.
> Another example is compound conditions. The old code was confused by
> stuff like:
> if (a && a->foo() || a && a->bar())
> there wasn't a good way to deal with that with the old way.
>
> Which checks do you use most? I'll port those first...
The scripts used regularly for Wine are on
http://people.redhat.com/mstefani/wine/smatch/scripts.html. Except that
i use only unreached-code.pl from the original smatch scripts.
Though not all scripts are that usefull; i probably could throw out
immediately while_for_check.pl and crosscalls_WtoA.pl. Most successfull
script is redundant_null_check.pl (finds "if (bla) free(bla);") as i had
only 2 false positives until now. unfree-wine.pl is the adaptation+bug
fixes of the original unfree.pl (usefull but lots of false positives).
The other usefull script is wine_locks.pl that found quite a few missing
unlocks on error paths. And i have some other ideas about a couple of
usefull smatch scripts for Wine but lack the time to implement them.
So most usefull would be a short documentation how to port things. Maybe
a short mapping between the most importand smatch.pm functions and their
C counter part would be enough for the start. I looked at the smatch
sparse diff and it didn't look that complicated to use. I have anyway a
longish train ride next week so i will give it a try; maybe with an easy
and dumb version of redundant_null_check.pl
bye
michael
--
Michael Stefaniuc Tel.: +49-711-96437-199
Sr. Network Engineer Fax.: +49-711-96437-111
Red Hat GmbH Email: mstefani@redhat.com
Hauptstaetterstr. 58 http://www.redhat.de/
D-70178 Stuttgart
next prev parent reply other threads:[~2006-10-05 22:46 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <a63d67fe0607140925h3665cd98ibc2fab07f6f80360@mail.gmail.com>
2006-07-16 0:42 ` Moving smatch to use sparse Dan Carpenter
2006-10-05 8:41 ` Dan Carpenter
2006-10-05 9:26 ` Sam Ravnborg
2006-10-05 9:49 ` Dan Carpenter
2006-10-05 10:25 ` Jörn Engel
2006-10-06 6:31 ` Dan Carpenter
2006-10-05 15:52 ` Michael Stefaniuc
2006-10-05 20:58 ` Dan Carpenter
2006-10-05 22:46 ` Michael Stefaniuc [this message]
2006-10-06 8:57 ` 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=45258B4B.6010907@redhat.com \
--to=mstefani@redhat.com \
--cc=error27@gmail.com \
--cc=linux-sparse@vger.kernel.org \
--cc=smatch-discuss@lists.sourceforge.net \
/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.