Re: [PATCH] tty: fix bug - kernel can't be pinged through whenbootargs console=null

From: Andrew Morton
Date: Fri Feb 06 2009 - 19:06:27 EST


On Fri, 6 Feb 2009 16:27:57 +0800
Bryan Wu <cooloney@xxxxxxxxxx> wrote:

> From: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
>
> when pass bootargs console=null into kernel from u-boot, the booted up
> kernel can't be pinged through. This happens after the kernel is upgraded
> to 2.6.28.
>
> Should check if tty_driver is NULL before call kref_get() in tty_driver_kref_get().
>
> Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxxx>
> ---
> include/linux/tty_driver.h | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/include/linux/tty_driver.h b/include/linux/tty_driver.h
> index 08e0883..2a602a8 100644
> --- a/include/linux/tty_driver.h
> +++ b/include/linux/tty_driver.h
> @@ -312,7 +312,8 @@ extern struct tty_driver *tty_find_polling_driver(char *name, int *line);
> extern void tty_driver_kref_put(struct tty_driver *driver);
> extern inline struct tty_driver *tty_driver_kref_get(struct tty_driver *d)
> {
> - kref_get(&d->kref);
> + if (d)
> + kref_get(&d->kref);
> return d;
> }
>

Did any earlier kernel versions handle this situation OK?

If so, we might need to be back-compatible with buggy userspace :(
--
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/