Re: [PATCH] drivers/tty/serial: deal with 8250_core.c uninitialized warning for good

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/19/2014 09:00 PM, Paul Gortmaker wrote:
> Every couple of months, someone sends a patch to fix:
> 
> drivers/tty/serial/8250/8250_core.c: In function 'serial_unlink_irq_chain':
> drivers/tty/serial/8250/8250_core.c:1712:2: warning: 'i' may be used uninitialized in this function [-Wuninitialized]
> 
> and they in turn get a NACK for their efforts, and are told that
> their compiler is broken.  This has been going on since at least
> the year 2008:  https://lkml.org/lkml/2008/11/24/433
> 
> Lets add a comment, so that subsequent patches don't get as far as
> the maintainers or the mailing lists.

Hi, wouldn't hlist_for_each_entry do a better job to silent both the
compiler and the reporters with the added value of cleanup?

> Cc: Alan Cox <alan@xxxxxxxxxxxxxxx>
> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
> 
> diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c
> index 69932b7556cf..747073b8c38a 100644
> --- a/drivers/tty/serial/8250/8250_core.c
> +++ b/drivers/tty/serial/8250/8250_core.c
> @@ -1694,6 +1694,10 @@ static int serial_link_irq_chain(struct uart_8250_port *up)
>  
>  static void serial_unlink_irq_chain(struct uart_8250_port *up)
>  {
> +	/*
> +	 * yes, some broken gcc emit "warning: 'i' may be used uninitialized"
> +	 * but no, we are not going to take a patch that assigns NULL below.
> +	 */
>  	struct irq_info *i;
>  	struct hlist_node *n;
>  	struct hlist_head *h;

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




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux