From: Julia Lawall <julia.lawall@lip6.fr>
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>,
Gilles Muller <Gilles.Muller@lip6.fr>,
Nicolas Palix <nicolas.palix@imag.fr>,
Michal Marek <mmarek@suse.com>,
cocci@systeme.lip6.fr, linux-kernel@vger.kernel.org,
linux-media@vger.kernel.org, netdev@vger.kernel.org,
linux-i2c@vger.kernel.org, linux-spi@vger.kernel.org,
dri-devel@lists.freedesktop.org, kernel-janitors@vger.kernel.org
Subject: Re: [PATCH v2] coccinelle: api: check for propagation of error from platform_get_irq
Date: Sat, 26 Dec 2015 23:32:51 +0100 (CET) [thread overview]
Message-ID: <alpine.DEB.2.02.1512262330430.2070@localhost6.localdomain6> (raw)
In-Reply-To: <567F141C.8010000@cogentembedded.com>
On Sun, 27 Dec 2015, Sergei Shtylyov wrote:
> On 12/26/2015 11:58 PM, Julia Lawall wrote:
>
> > The error return value of platform_get_irq seems to often get dropped.
> >
> > Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
> >
> > ---
> >
> > v2: Check for the direct return case also. Added some mailing lists of
> > common offenders.
> >
> > diff --git a/scripts/coccinelle/api/platform_get_irq_return.cocci
> > b/scripts/coccinelle/api/platform_get_irq_return.cocci
> > new file mode 100644
> > index 0000000..44680d0
> > --- /dev/null
> > +++ b/scripts/coccinelle/api/platform_get_irq_return.cocci
> > @@ -0,0 +1,58 @@
> > +/// Propagate the return value of platform_get_irq.
> > +//# Sometimes the return value of platform_get_irq is tested using <= 0,
> > but 0
> > +//# might not be an appropriate return value in an error case.
> > +///
> > +// Confidence: Moderate
> > +// Copyright: (C) 2015 Julia Lawall, Inria. GPLv2.
> > +// URL: http://coccinelle.lip6.fr/
> > +// Options: --no-includes --include-headers
> > +
> > +virtual context
> > +virtual org
> > +virtual report
> > +
> > +//
> > ----------------------------------------------------------------------------
> > +
> > +@r depends on context || org || report@
> > +constant C;
> > +statement S;
> > +expression e, ret;
> > +position j0, j1;
> > +@@
> > +
> > +* e@j0 = platform_get_irq(...);
> > +(
> > +if@j1 (...) {
> > + ...
> > + return -C;
> > +} else S
> > +|
> > +if@j1 (...) {
> > + ...
> > + ret = -C;
> > + ...
> > + return ret;
> > +} else S
>
> Well, this seems to also cover the (e <= 0) checks which do make same sense
> in the light of Linus considering IRQ0 invalid. So I'd be more specific about
> the checks here -- 0 should indeed be overridden with something if it's
> considered invalid.
That's what the limitations section says (lines with #). This doesn't
make any changes, it only makes warnings, which should include the
limitations information, so perhaps people can consider what it is that
they really intend to do.
If you think this is not a good idea, then I can make the test more
specific.
julia
next prev parent reply other threads:[~2015-12-26 22:32 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-26 19:24 [PATCH] " Julia Lawall
2015-12-26 19:59 ` Sergei Shtylyov
2015-12-26 20:08 ` Julia Lawall
2015-12-26 20:24 ` Julia Lawall
2015-12-26 20:29 ` Sergei Shtylyov
2015-12-26 20:38 ` Julia Lawall
2015-12-26 20:58 ` [PATCH v2] " Julia Lawall
2015-12-26 22:26 ` Sergei Shtylyov
2015-12-26 22:32 ` Julia Lawall [this message]
2015-12-26 22:36 ` Sergei Shtylyov
2015-12-27 6:13 ` Julia Lawall
2015-12-27 11:18 ` Sergei Shtylyov
2015-12-27 7:58 ` [Cocci] " SF Markus Elfring
2015-12-27 11:41 ` Julia Lawall
2015-12-27 16:24 ` SF Markus Elfring
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=alpine.DEB.2.02.1512262330430.2070@localhost6.localdomain6 \
--to=julia.lawall@lip6.fr \
--cc=Gilles.Muller@lip6.fr \
--cc=cocci@systeme.lip6.fr \
--cc=dri-devel@lists.freedesktop.org \
--cc=kernel-janitors@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=mmarek@suse.com \
--cc=netdev@vger.kernel.org \
--cc=nicolas.palix@imag.fr \
--cc=sergei.shtylyov@cogentembedded.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®