Re: [PATCH v2 0/3] Coccinelle: misc: Improve the script for more accurate results

From: Julia Lawall
Date: Tue Oct 18 2016 - 14:05:59 EST




On Tue, 18 Oct 2016, Vaishali Thakkar wrote:

>
>
> On Tuesday 18 October 2016 10:31 PM, Julia Lawall wrote:
> >
> >
> > On Tue, 18 Oct 2016, Vaishali Thakkar wrote:
> >
> >>
> >>
> >> On Tuesday 18 October 2016 10:04 PM, Julia Lawall wrote:
> >>> I get the following in patch mode that I don't get in context mode:
> >>
> >> Hi,
> >>
> >> Are you getting same number of devm cases in your report for the context
> >> and patch mode? [except this case]
> >
> > The only devm case I get in context mode is:
> >
> > diff -u -p /var/linuxes/linux-next/drivers/acpi/evged.c
> > /tmp/nothing/drivers/ac\
> > pi/evged.c
> > --- /var/linuxes/linux-next/drivers/acpi/evged.c
> > +++ /tmp/nothing/drivers/acpi/evged.c
> > @@ -116,8 +116,6 @@ static acpi_status acpi_ged_request_inte
> > if (r.flags & IORESOURCE_IRQ_SHAREABLE)
> > irqflags |= IRQF_SHARED;
> >
> > - if (devm_request_threaded_irq(dev, irq, NULL, acpi_ged_irq_handler,
> > - irqflags, "ACPI:Ged", event)) {
> > dev_err(dev, "failed to setup event handler for irq %u\n", irq);
> > return AE_ERROR;
> > }
> >
> > This one has the property that the first argument is an identifier. The
> > other cases seem to have a & expression. There are around 20 of them.
>
> Although I got the issue with the patches, I am wondering why even context mode
> gave result for the identifiers even though they are not initialized? Does that
> mean it automatically assumes the type of meta variables even though they are not
> initialized? I think spatch gives warnings for such cases. But I am not sure about
> the coccicheck.

I think that there are a few cases where the names are the ones you chose.

julia


>
> > julia
> >
> >
> >
> >>
> >>
> >>> diff -u -p a/drivers/power/supply/tps65090-charger.c
> >>> b/drivers/power/supply/tps\
> >>> 65090-charger.c
> >>> --- a/drivers/power/supply/tps65090-charger.c
> >>> +++ b/drivers/power/supply/tps65090-charger.c
> >>> @@ -311,7 +311,8 @@ static int tps65090_charger_probe(struct
> >>>
> >>> if (irq != -ENXIO) {
> >>> ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
> >>> - tps65090_charger_isr, 0, "tps65090-charger", cdata);
> >>> + tps65090_charger_isr, IRQF_ONESHOT,
> >>> + "tps65090-charger", cdata);
> >>> if (ret) {
> >>> dev_err(cdata->dev,
> >>> "Unable to register irq %d err %d\n", irq,
> >>>
> >>>
> >>> julia
> >>>
> >>
> >> --
> >> Vaishali
> >>
>
> --
> Vaishali
>