]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: airoha: Always check return value from airoha_ppe_foe_get_entry()
authorLorenzo Bianconi <lorenzo@kernel.org>
Wed, 18 Jun 2025 07:37:40 +0000 (09:37 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 19 Jun 2025 15:34:13 +0000 (08:34 -0700)
airoha_ppe_foe_get_entry routine can return NULL, so check the returned
pointer is not NULL in airoha_ppe_foe_flow_l2_entry_update()

Fixes: b81e0f2b58be3 ("net: airoha: Add FLOW_CLS_STATS callback support")
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://patch.msgid.link/20250618-check-ret-from-airoha_ppe_foe_get_entry-v2-1-068dcea3cc66@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/airoha/airoha_ppe.c

index 9067d2fc7706ecf489bee9fc9b6425de18acb634..0e217acfc5ef748453b020e5713ace1910abc4a8 100644 (file)
@@ -809,8 +809,10 @@ airoha_ppe_foe_flow_l2_entry_update(struct airoha_ppe *ppe,
                int idle;
 
                hwe = airoha_ppe_foe_get_entry(ppe, iter->hash);
-               ib1 = READ_ONCE(hwe->ib1);
+               if (!hwe)
+                       continue;
 
+               ib1 = READ_ONCE(hwe->ib1);
                state = FIELD_GET(AIROHA_FOE_IB1_BIND_STATE, ib1);
                if (state != AIROHA_FOE_STATE_BIND) {
                        iter->hash = 0xffff;