Message ID | 20181019184417.GA21154@embeddedor.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | skd: fix unchecked return values | expand |
On Fri, Oct 19, 2018 at 08:44:17PM +0200, Gustavo A. R. Silva wrote: > Check return values of dma_set_mask_and_coherent(). > > Otherwise, if dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); > fails, the following piece of code will be executed even when the call > to dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); returns 0: > > dev_err(&pdev->dev, "DMA mask error %d\n", rc); > goto err_out_regions; > > Addresses-Coverity-ID: 1474553 ("Unchecked return value") > Fixes: 138126214868 ("skd: switch to the generic DMA API") > Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Thanks, looks good: Reviewed-by: Christoph Hellwig <hch@lst.de>
On 10/19/18 12:44 PM, Gustavo A. R. Silva wrote: > Check return values of dma_set_mask_and_coherent(). > > Otherwise, if dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); > fails, the following piece of code will be executed even when the call > to dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); returns 0: > > dev_err(&pdev->dev, "DMA mask error %d\n", rc); > goto err_out_regions; Applied, thanks.
diff --git a/drivers/block/skd_main.c b/drivers/block/skd_main.c index 7c5fc69..2459dcc 100644 --- a/drivers/block/skd_main.c +++ b/drivers/block/skd_main.c @@ -3175,7 +3175,7 @@ static int skd_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) goto err_out; rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); if (rc) - dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); + rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); if (rc) { dev_err(&pdev->dev, "DMA mask error %d\n", rc); goto err_out_regions; @@ -3364,7 +3364,7 @@ static int skd_pci_resume(struct pci_dev *pdev) goto err_out; rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); if (rc) - dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); + rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); if (rc) { dev_err(&pdev->dev, "DMA mask error %d\n", rc); goto err_out_regions;
Check return values of dma_set_mask_and_coherent(). Otherwise, if dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); fails, the following piece of code will be executed even when the call to dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); returns 0: dev_err(&pdev->dev, "DMA mask error %d\n", rc); goto err_out_regions; Addresses-Coverity-ID: 1474553 ("Unchecked return value") Fixes: 138126214868 ("skd: switch to the generic DMA API") Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> --- drivers/block/skd_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)