[PATCH] scsi: fnic: fix missing dma mapping error in `fnic_send_frame()`

Thomas Fourier posted 1 patch 3 months, 3 weeks ago
drivers/scsi/fnic/fnic_fcs.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] scsi: fnic: fix missing dma mapping error in `fnic_send_frame()`
Posted by Thomas Fourier 3 months, 3 weeks ago
`dma_map_XXX()` can fail and should be tested for errors with
`dma_mapping_error().`

Fixes: a63e78eb2b0f ("scsi: fnic: Add support for fabric based solicited requests and responses")
Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
---
 drivers/scsi/fnic/fnic_fcs.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/scsi/fnic/fnic_fcs.c b/drivers/scsi/fnic/fnic_fcs.c
index 1e8cd64f9a5c..103ab6f1f7cd 100644
--- a/drivers/scsi/fnic/fnic_fcs.c
+++ b/drivers/scsi/fnic/fnic_fcs.c
@@ -636,6 +636,8 @@ static int fnic_send_frame(struct fnic *fnic, void *frame, int frame_len)
 	unsigned long flags;
 
 	pa = dma_map_single(&fnic->pdev->dev, frame, frame_len, DMA_TO_DEVICE);
+	if (dma_mapping_error(&fnic->pdev->dev, pa))
+		return -ENOMEM;
 
 	if ((fnic_fc_trace_set_data(fnic->fnic_num,
 				FNIC_FC_SEND | 0x80, (char *) frame,
-- 
2.43.0
Re: [PATCH] scsi: fnic: fix missing dma mapping error in `fnic_send_frame()`
Posted by Martin K. Petersen 3 months, 3 weeks ago
On Wed, 18 Jun 2025 08:57:04 +0200, Thomas Fourier wrote:

> `dma_map_XXX()` can fail and should be tested for errors with
> `dma_mapping_error().`
> 
> 

Applied to 6.16/scsi-fixes, thanks!

[1/1] scsi: fnic: fix missing dma mapping error in `fnic_send_frame()`
      https://git.kernel.org/mkp/scsi/c/85d6fbc47c30

-- 
Martin K. Petersen	Oracle Linux Engineering
Re: [PATCH] scsi: fnic: fix missing dma mapping error in `fnic_send_frame()`
Posted by John Meneghini 3 months, 3 weeks ago
Reviewed-by: John Menghini <jmeneghi@redhat.com>

Martin, can we get this merged into 6.16/scsi-fixes as well?

/John

On 6/18/25 2:57 AM, Thomas Fourier wrote:
> `dma_map_XXX()` can fail and should be tested for errors with
> `dma_mapping_error().`
> 
> Fixes: a63e78eb2b0f ("scsi: fnic: Add support for fabric based solicited requests and responses")
> Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
> ---
>   drivers/scsi/fnic/fnic_fcs.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/scsi/fnic/fnic_fcs.c b/drivers/scsi/fnic/fnic_fcs.c
> index 1e8cd64f9a5c..103ab6f1f7cd 100644
> --- a/drivers/scsi/fnic/fnic_fcs.c
> +++ b/drivers/scsi/fnic/fnic_fcs.c
> @@ -636,6 +636,8 @@ static int fnic_send_frame(struct fnic *fnic, void *frame, int frame_len)
>   	unsigned long flags;
>   
>   	pa = dma_map_single(&fnic->pdev->dev, frame, frame_len, DMA_TO_DEVICE);
> +	if (dma_mapping_error(&fnic->pdev->dev, pa))
> +		return -ENOMEM;
>   
>   	if ((fnic_fc_trace_set_data(fnic->fnic_num,
>   				FNIC_FC_SEND | 0x80, (char *) frame,