From ee8da70063cf876b33ccdf83ecf882f19dd5790f Mon Sep 17 00:00:00 2001 From: Steven Cahail Date: Mon, 3 Mar 2014 17:23:18 -0700 Subject: TTY: msm_smd_tty: Fix simultaneous open/close race condition smd_tty_close currently has a variable that depends on a race condition with tty_port_open. This causes a null-pointer dereference when the same port is simultaneously being opened/closed. Use data from a static array instead of the variable to eliminate the race condition. CRs-Fixed: 624398 Change-Id: Ie55d37feaadd3a15f64e18501cd3af19145dbc8e Signed-off-by: Steven Cahail --- drivers/tty/serial/msm_smd_tty.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/tty') diff --git a/drivers/tty/serial/msm_smd_tty.c b/drivers/tty/serial/msm_smd_tty.c index 39f417e94b4b..67edaf557a43 100644 --- a/drivers/tty/serial/msm_smd_tty.c +++ b/drivers/tty/serial/msm_smd_tty.c @@ -708,7 +708,7 @@ static int smd_tty_open(struct tty_struct *tty, struct file *f) static void smd_tty_close(struct tty_struct *tty, struct file *f) { - struct smd_tty_info *info = tty->driver_data; + struct smd_tty_info *info = smd_tty + tty->index; tty_port_close(&info->port, tty, f); } -- cgit v1.2.3