Re: [PATCH 00/15] trivial: Drop unlikely before IS_ERR(_OR_NULL)

From: Steven Rostedt
Date: Mon Aug 03 2015 - 17:38:29 EST


On Fri, 31 Jul 2015 13:23:10 +0300
"Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> wrote:

> On Fri, Jul 31, 2015 at 11:41:09AM +0200, Vlastimil Babka wrote:
> > On 07/31/2015 10:38 AM, Viresh Kumar wrote:
> > >Hi,
> > >
> > >This cleans up the usage of IS_ERR(_OR_NULL)(), where the callers have
> > >added additional unlikely compiler flag to them. It also fixes the
> > >definition of IS_ERR_OR_NULL(), to use unlikely for all checks it does.
> >
> > [+CC Steven Rostedt]
> >
> > Any idea what the compiler does in the case of
> > "if (likely(IS_ERR(...)))"? There are apparently such cases in the source.
>
> We have two cases in code:
>
> drivers/rtc/rtc-gemini.c: if (likely(IS_ERR(rtc->rtc_dev)))
> drivers/staging/lustre/lustre/obdclass/lu_object.c: if (likely(IS_ERR(shadow) && PTR_ERR(shadow) == -ENOENT)) {
>
> The first one is mistake, I think. Or do we expect rtc_device_register()
> to fail?
>
> The second is redundant. "if (PTR_ERR(shadow) == -ENOENT)" should do the
> job.
>

Yep, those look like bugs to me.

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