Re: [PATCH] atm: eni: Add check for dma_map_single

From: Jakub Kicinski
Date: Sat Mar 12 2022 - 02:04:44 EST


On Fri, 11 Mar 2022 15:16:56 +0800 Jiasheng Jiang wrote:
> As the potential failure of the dma_map_single(),
> it should be better to check it and return error
> if fails.
>
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Signed-off-by: Jiasheng Jiang <jiasheng@xxxxxxxxxxx>
> ---
> drivers/atm/eni.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/atm/eni.c b/drivers/atm/eni.c
> index 422753d52244..96c2d8f5646b 100644
> --- a/drivers/atm/eni.c
> +++ b/drivers/atm/eni.c
> @@ -1112,6 +1112,8 @@ DPRINTK("iovcnt = %d\n",skb_shinfo(skb)->nr_frags);
> skb_data3 = skb->data[3];
> paddr = dma_map_single(&eni_dev->pci_dev->dev,skb->data,skb->len,
> DMA_TO_DEVICE);
> + if (dma_mapping_error(&eni_dev->pci_dev->dev, paddr))
> + return enq_jam;

Probably better to drop the packet if mapping fails.

> ENI_PRV_PADDR(skb) = paddr;
> /* prepare DMA queue entries */
> j = 0;