Re: [PATCH 1/2] Char: isicom, prolong tty reference holding

From: Alan Cox
Date: Mon Mar 16 2009 - 06:50:53 EST


On Mon, 16 Mar 2009 11:34:24 +0100
Jiri Slaby <jirislaby@xxxxxxxxx> wrote:

> Hold the tty reference a bit longer in isicom_shutdown_port, because
> we use it later in the function, so that it won't disappear in the
> meantime.

NAK - we do have a bug there but I don't think that is it.

The tty_kref_get takes an additional reference so the tty_port_tty_set is
fine, but we don't then drop the kref we took temporarily. I think we
need this:

isicom: isicom kref leak fix

From: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>

The isicom driver leaks a kref on the shutdown path. Drop the additional
kref we took

Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>
---

drivers/char/isicom.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)


diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c
index 24aa6e8..a59eac5 100644
--- a/drivers/char/isicom.c
+++ b/drivers/char/isicom.c
@@ -925,6 +925,7 @@ static void isicom_shutdown_port(struct isi_port *port)
if (!card->count)
isicom_shutdown_board(card);
}
+ tty_kref_put(tty);
}

static void isicom_flush_buffer(struct tty_struct *tty)
--
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/