[PATCH 3/4] tty/serial: at91: prevent null dereference in tasklet function
From: gregkh@linuxfoundation.org (Greg KH)
Date: 2014-01-08 01:11:16
Also in:
linux-serial, lkml, stable
From: gregkh@linuxfoundation.org (Greg KH)
Date: 2014-01-08 01:11:16
Also in:
linux-serial, lkml, stable
On Tue, Jan 07, 2014 at 11:45:08AM +0100, Nicolas Ferre wrote:
From: Marek Roszko <redacted> Something asks a tasklet to be scheduled when the uart port is closed.
What is that something? Shouldn't you track that down and find the real problem here?
Need to supress the kernel panic for now by checking if the port is NULL or not. Signed-off-by: Marek Roszko <redacted> Acked-by: Leilei Zhao <redacted> Cc: <redacted> # v3.12 Signed-off-by: Nicolas Ferre <redacted> --- drivers/tty/serial/atmel_serial.c | 4 ++++ 1 file changed, 4 insertions(+)diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c index c421d11b3d4c..6e68486c83cb 100644 --- a/drivers/tty/serial/atmel_serial.c +++ b/drivers/tty/serial/atmel_serial.c@@ -1360,6 +1360,10 @@ static void atmel_tasklet_func(unsigned long data) unsigned int status; unsigned int status_change; + if(!port->state || !port->state->port.tty) + /* uart has been closed */ + return;
Did you really test this? How about running it through checkpatch? thanks, greg k-h