]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_flows.c
authorDipendra Khadka <kdipendra88@gmail.com>
Thu, 17 Oct 2024 19:08:44 +0000 (19:08 +0000)
committerAndrew Lunn <andrew@lunn.ch>
Tue, 22 Oct 2024 22:35:35 +0000 (17:35 -0500)
Adding error pointer check after calling otx2_mbox_get_rsp().

Fixes: 9917060fc30a ("octeontx2-pf: Cleanup flow rule management")
Fixes: f0a1913f8a6f ("octeontx2-pf: Add support for ethtool ntuple filters")
Fixes: 674b3e164238 ("octeontx2-pf: Add additional checks while configuring ucast/bcast/mcast rules")
Signed-off-by: Dipendra Khadka <kdipendra88@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c

index 98c31a16c70b4f762a94a581d4b49ab372782f88..58720a161ee24a696144e6df423816ab4cb88e6a 100644 (file)
@@ -119,6 +119,8 @@ int otx2_alloc_mcam_entries(struct otx2_nic *pfvf, u16 count)
 
                rsp = (struct npc_mcam_alloc_entry_rsp *)otx2_mbox_get_rsp
                        (&pfvf->mbox.mbox, 0, &req->hdr);
+               if (IS_ERR(rsp))
+                       goto exit;
 
                for (ent = 0; ent < rsp->count; ent++)
                        flow_cfg->flow_ent[ent + allocated] = rsp->entry_list[ent];
@@ -197,6 +199,10 @@ int otx2_mcam_entry_init(struct otx2_nic *pfvf)
 
        rsp = (struct npc_mcam_alloc_entry_rsp *)otx2_mbox_get_rsp
               (&pfvf->mbox.mbox, 0, &req->hdr);
+       if (IS_ERR(rsp)) {
+               mutex_unlock(&pfvf->mbox.lock);
+               return PTR_ERR(rsp);
+       }
 
        if (rsp->count != req->count) {
                netdev_info(pfvf->netdev,
@@ -232,6 +238,10 @@ int otx2_mcam_entry_init(struct otx2_nic *pfvf)
 
        frsp = (struct npc_get_field_status_rsp *)otx2_mbox_get_rsp
               (&pfvf->mbox.mbox, 0, &freq->hdr);
+       if (IS_ERR(frsp)) {
+               mutex_unlock(&pfvf->mbox.lock);
+               return PTR_ERR(frsp);
+       }
 
        if (frsp->enable) {
                pfvf->flags |= OTX2_FLAG_RX_VLAN_SUPPORT;