On 03/04/2013 03:36 AM, Peter Hurley wrote: > On Mon, 2013-03-04 at 09:35 +0800, Grant Likely wrote: >> drivers/tty/serial/8250/8250.c: In function 'serial_unlink_irq_chain': >> drivers/tty/serial/8250/8250.c:1676:19: warning: 'i' may be used uninitialized in this function >> >> There isn't an actual bug here since the function tests the condition >> that would cause i to be uninitialized before dereferencing i. However, >> at least some versions of GCC complain as shown above. (in my case, >> powerpc gcc 2.5.2). Initializing i to NULL makes it clear to GCC and the >> casual code reviewer that i will not be dereferenced to a random >> address. >> >> Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxxxx> >> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> >> --- >> Greg, some may argue that this is a tool problem, not a kernel problem, >> but it is useful to me. If anyone objects I'm not going to spend any >> time championing for this patch. >> >> g. >> >> drivers/tty/serial/8250/8250.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/tty/serial/8250/8250.c b/drivers/tty/serial/8250/8250.c >> index 0efc815..cbbedcf 100644 >> --- a/drivers/tty/serial/8250/8250.c >> +++ b/drivers/tty/serial/8250/8250.c >> @@ -1673,7 +1673,7 @@ static int serial_link_irq_chain(struct uart_8250_port *up) >> >> static void serial_unlink_irq_chain(struct uart_8250_port *up) >> { >> - struct irq_info *i; >> + struct irq_info *i = NULL; > > struct irq_info *uninitialized_var(i); > > For gcc, the uninitialized_var() #define is in > include/linux/compiler-gcc.h As far as I remember, we decided not to use that macro any more after a bug stemming out of its use. And Grant uses a very old toolchain as we can see in the commit log. I'm not sure whether it's worth to hide a potential bug in the future by this patch. thanks, -- js suse labs -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html