]>
Commit | Line | Data |
---|---|---|
fc08f4e8 GKH |
1 | From c85be041065c0be8bc48eda4c45e0319caf1d0e5 Mon Sep 17 00:00:00 2001 |
2 | From: Kangjie Lu <kjlu@umn.edu> | |
3 | Date: Fri, 15 Mar 2019 12:16:06 -0500 | |
4 | Subject: tty: atmel_serial: fix a potential NULL pointer dereference | |
5 | ||
6 | From: Kangjie Lu <kjlu@umn.edu> | |
7 | ||
8 | commit c85be041065c0be8bc48eda4c45e0319caf1d0e5 upstream. | |
9 | ||
10 | In case dmaengine_prep_dma_cyclic fails, the fix returns a proper | |
11 | error code to avoid NULL pointer dereference. | |
12 | ||
13 | Signed-off-by: Kangjie Lu <kjlu@umn.edu> | |
14 | Fixes: 34df42f59a60 ("serial: at91: add rx dma support") | |
15 | Acked-by: Richard Genoud <richard.genoud@gmail.com> | |
16 | Cc: stable <stable@vger.kernel.org> | |
17 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
18 | ||
19 | --- | |
20 | drivers/tty/serial/atmel_serial.c | 4 ++++ | |
21 | 1 file changed, 4 insertions(+) | |
22 | ||
23 | --- a/drivers/tty/serial/atmel_serial.c | |
24 | +++ b/drivers/tty/serial/atmel_serial.c | |
25 | @@ -1297,6 +1297,10 @@ static int atmel_prepare_rx_dma(struct u | |
26 | sg_dma_len(&atmel_port->sg_rx)/2, | |
27 | DMA_DEV_TO_MEM, | |
28 | DMA_PREP_INTERRUPT); | |
29 | + if (!desc) { | |
30 | + dev_err(port->dev, "Preparing DMA cyclic failed\n"); | |
31 | + goto chan_err; | |
32 | + } | |
33 | desc->callback = atmel_complete_rx_dma; | |
34 | desc->callback_param = port; | |
35 | atmel_port->desc_rx = desc; |