Re: [PATCH] pch_uart: Don't panic if dmi_get_system_info returnsNULL

From: Andrew Morton
Date: Wed Jun 08 2011 - 17:44:32 EST


On Wed, 1 Jun 2011 14:11:25 +0200
Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> wrote:

> Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx>
> ---
> drivers/tty/serial/pch_uart.c | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
> index f2cb750..4652109 100644
> --- a/drivers/tty/serial/pch_uart.c
> +++ b/drivers/tty/serial/pch_uart.c
> @@ -1397,6 +1397,7 @@ static struct eg20t_port *pch_uart_init_port(struct pci_dev *pdev,
> int fifosize, base_baud;
> int port_type;
> struct pch_uart_driver_data *board;
> + const char *board_name;
>
> board = &drv_dat[id->driver_data];
> port_type = board->port_type;
> @@ -1412,7 +1413,8 @@ static struct eg20t_port *pch_uart_init_port(struct pci_dev *pdev,
> base_baud = 1843200; /* 1.8432MHz */
>
> /* quirk for CM-iTC board */
> - if (strstr(dmi_get_system_info(DMI_BOARD_NAME), "CM-iTC"))
> + board_name = dmi_get_system_info(DMI_BOARD_NAME);
> + if (board_name && strstr(board_name, "CM-iTC"))
> base_baud = 192000000; /* 192.0MHz */
>
> switch (port_type) {

Please changelog your patches.

A changelog for this patch would include info such as:

a) The code doesn't panic. I think you meant "oops due to a NULL
pointer dereference"

b) Under what circumstances will dmi_get_system_info() return NULL?

c) Has this bug been observed in the real world, or was it from code
inspection? If the former, under what circumstances?

The answer to c) will allow others to decide which kernel version(s)
the fix should be merged into.

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