Commit 62a277d4 authored by Gustavo A. R. Silva's avatar Gustavo A. R. Silva Committed by Vinod Koul

dmaengine: at_hdmac: fix potential NULL pointer dereference in atc_prep_dma_interleaved

_xt_ is being dereferenced before it is null checked, hence there is a
potential null pointer dereference.

Fix this by moving the pointer dereference after _xt_ has been null
checked.

This issue was detected with the help of Coccinelle.

Fixes: 4483320e ("dmaengine: Use Pointer xt after NULL check.")
Signed-off-by: default avatarGustavo A. R. Silva <garsilva@embeddedor.com>
Acked-by: default avatarLudovic Desroches <ludovic.desroches@microchip.com>
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
parent 5c9afbda
...@@ -708,7 +708,7 @@ atc_prep_dma_interleaved(struct dma_chan *chan, ...@@ -708,7 +708,7 @@ atc_prep_dma_interleaved(struct dma_chan *chan,
unsigned long flags) unsigned long flags)
{ {
struct at_dma_chan *atchan = to_at_dma_chan(chan); struct at_dma_chan *atchan = to_at_dma_chan(chan);
struct data_chunk *first = xt->sgl; struct data_chunk *first;
struct at_desc *desc = NULL; struct at_desc *desc = NULL;
size_t xfer_count; size_t xfer_count;
unsigned int dwidth; unsigned int dwidth;
...@@ -720,6 +720,8 @@ atc_prep_dma_interleaved(struct dma_chan *chan, ...@@ -720,6 +720,8 @@ atc_prep_dma_interleaved(struct dma_chan *chan,
if (unlikely(!xt || xt->numf != 1 || !xt->frame_size)) if (unlikely(!xt || xt->numf != 1 || !xt->frame_size))
return NULL; return NULL;
first = xt->sgl;
dev_info(chan2dev(chan), dev_info(chan2dev(chan),
"%s: src=%pad, dest=%pad, numf=%d, frame_size=%d, flags=0x%lx\n", "%s: src=%pad, dest=%pad, numf=%d, frame_size=%d, flags=0x%lx\n",
__func__, &xt->src_start, &xt->dst_start, xt->numf, __func__, &xt->src_start, &xt->dst_start, xt->numf,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment