Re: [PATCH] drivers/serial/8250.c: 'i' may be used uninitialized

From: Ingo Molnar
Date: Thu Oct 02 2008 - 05:03:00 EST



* Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:

> On Wed, 1 Oct 2008 01:47:07 -0700
> Steven Noonan <steven@xxxxxxxxxxxxxx> wrote:
>
> > serial_unlink_irq_chain() does not initialize iterator 'i', and that is
> > correct logically because it is always initialized, either in the
> > hlist_for_each or in the conditional immediately after (which fires if
> > hlist_for_each comes up empty-handed). GCC does not realize this
> > connection and emits a false warning. Annotate it with uninitialized_var().
> >
> > Signed-off-by: Steven Noonan <steven@xxxxxxxxxxxxxx>
>
> Ok definitive NAK. gcc 4.3.0 can work this out and doesn't produce a
> warning. Thanks for sending the patch though (and to the gcc folks for
> rendering it unnecessary)

thanks for sorting it out! A CONFIG_CC_DISABLE_WARNING_ANNOTATIONS=y
might be useful as well, which could be used periodically (by gcc folks)
to check which warnings are hidden by annotations?

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