Patch "octeontx2-af: Fix reference count issue in rvu_sdp_init()" has been added to the 6.0-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    octeontx2-af: Fix reference count issue in rvu_sdp_init()

to the 6.0-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     octeontx2-af-fix-reference-count-issue-in-rvu_sdp_in.patch
and it can be found in the queue-6.0 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit a69944c0831993020c329a03779df45ae000b1cf
Author: Xiongfeng Wang <wangxiongfeng2@xxxxxxxxxx>
Date:   Wed Nov 23 14:59:19 2022 +0800

    octeontx2-af: Fix reference count issue in rvu_sdp_init()
    
    [ Upstream commit ad17c2a3f11b0f6b122e7842d8f7d9a5fcc7ac63 ]
    
    pci_get_device() will decrease the reference count for the *from*
    parameter. So we don't need to call put_device() to decrease the
    reference. Let's remove the put_device() in the loop and only decrease
    the reference count of the returned 'pdev' for the last loop because it
    will not be passed to pci_get_device() as input parameter. We don't need
    to check if 'pdev' is NULL because it is already checked inside
    pci_dev_put(). Also add pci_dev_put() for the error path.
    
    Fixes: fe1939bb2340 ("octeontx2-af: Add SDP interface support")
    Signed-off-by: Xiongfeng Wang <wangxiongfeng2@xxxxxxxxxx>
    Reviewed-by: Saeed Mahameed <saeed@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20221123065919.31499-1-wangxiongfeng2@xxxxxxxxxx
    Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_sdp.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_sdp.c
index b04fb226f708..ae50d56258ec 100644
--- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_sdp.c
+++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_sdp.c
@@ -62,15 +62,18 @@ int rvu_sdp_init(struct rvu *rvu)
 		pfvf->sdp_info = devm_kzalloc(rvu->dev,
 					      sizeof(struct sdp_node_info),
 					      GFP_KERNEL);
-		if (!pfvf->sdp_info)
+		if (!pfvf->sdp_info) {
+			pci_dev_put(pdev);
 			return -ENOMEM;
+		}
 
 		dev_info(rvu->dev, "SDP PF number:%d\n", sdp_pf_num[i]);
 
-		put_device(&pdev->dev);
 		i++;
 	}
 
+	pci_dev_put(pdev);
+
 	return 0;
 }
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux