Re: [PATCH 1/2] drivers/telephony/ixj.c::add_caps(): don't rely onundefined behaviour

From: Jesper Juhl
Date: Mon Mar 19 2012 - 19:41:42 EST


On Mon, 19 Mar 2012, Joe Perches wrote:

> On Tue, 2012-03-20 at 00:19 +0100, Jesper Juhl wrote:
> > On Mon, 19 Mar 2012, Joe Perches wrote:
> > > On Mon, 2012-03-19 at 23:46 +0100, Jesper Juhl wrote:
> > > > On Mon, 19 Mar 2012, Joe Perches wrote:
> > > > > On Mon, 2012-03-19 at 23:37 +0100, Jesper Juhl wrote:
> > > > > > In drivers/telephony/ixj.c::add_caps() we have several statements like this:
> > > > > > j->caplist[j->caps].handle = j->caps++;
> > > > > > That's undefined behaviour right there.
> > > > > telephony has been moved to staging.
> > > > Since when? Where?
> > > > In my up-to-date Linus tree with HEAD at
> > > > c16fa4f2ad19908a47c63d8fa436a1178438c7e7, that file is is still in
> > > > drivers/telephony/, not in staging/...
> > > > /confused
> > > In the -next tree.
> > Ok, seems I've missed that.
> > > Yes, it's a bug fix, but drivers/telephony is pretty dead.
> > Dead or not, as long as it's in the tree I think that fixing bugs is
> > relevant.
> > Besides, who knows if/when it'll get ressurrected ;)
>
> Sorry, I didn't mean to suggest it shouldn't
> be fixed.
>
> I meant that it probably didn't need to be
> fixed during the merge window or maybe even
> not backported to stable unless you're sure
> the order of operations is now done correctly
> and with no real change in current operation
> by inspecting the object. I presume it worked
> before but it's likely not too many people
> actually still use this hardware with the
> current kernel.
>
I never intended to push it for -stable, it probably "works" in its
current form with any relevant compiler. I just spotted a bug and wanted
to fix it :-)
If it gets fixed during the merge window or at some other time I don't
really care - but I don't see any reason to not just fix it as soon as
possible.

I have no idea how many people still use this hardware with current
kernels, but even if just a few do, they deserve to get code that has
well-defined behaviour with standards conforming C compilers and not what
is currently there that can change with different compilers/different
compiler versions.

--
Jesper Juhl <jj@xxxxxxxxxxxxx> http://www.chaosbits.net/
Don't top-post http://www.catb.org/jargon/html/T/top-post.html
Plain text mails only, please.

--
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/