diff options
author | Linas Vepstas | 2006-08-05 12:14:36 -0700 |
---|---|---|
committer | Linus Torvalds | 2006-08-06 08:57:48 -0700 |
commit | 229395c90aadbadef76bacf52b9cb3326f509e93 (patch) | |
tree | 53705312e1521192a3fff0af34a5aa1d62f40372 /drivers/char/hvsi.c | |
parent | 825e037fb8912f38e9d9ddd3ec79fa7c584db708 (diff) |
[PATCH] pSeries hvsi char driver null pointer deref
Under certain rare circumstances, it appears that there can be be a
NULL-pointer deref when a user fiddles with terminal emeulation programs while
outpu is being sent to the console. This patch checks for and avoids a
NULL-pointer deref.
Signed-off-by: Hollis Blanchard <hollisbl@austin.ibm.com>
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: Paul Fulghum <paulkf@microgate.com>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/hvsi.c')
-rw-r--r-- | drivers/char/hvsi.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/char/hvsi.c b/drivers/char/hvsi.c index 41db8060e8f7..54cbb58b8740 100644 --- a/drivers/char/hvsi.c +++ b/drivers/char/hvsi.c @@ -311,7 +311,8 @@ static void hvsi_recv_control(struct hvsi_struct *hp, uint8_t *packet, /* CD went away; no more connection */ pr_debug("hvsi%i: CD dropped\n", hp->index); hp->mctrl &= TIOCM_CD; - if (!(hp->tty->flags & CLOCAL)) + /* If userland hasn't done an open(2) yet, hp->tty is NULL. */ + if (hp->tty && !(hp->tty->flags & CLOCAL)) *to_hangup = hp->tty; } break; |