[bug report] net: ethernet: ti: am65-cpsw: enable bc/mc storm prevention support
From: Dan Carpenter <hidden>
Date: 2026-02-06 13:39:17
Also in:
lkml
[ Smatch checking is paused while we raise funding. #SadFace https://lore.kernel.org/all/aTaiGSbWZ9DJaGo7@stanley.mountain/ (local) -dan ] Hello Grygorii Strashko, Commit 5ec836be11b3 ("net: ethernet: ti: am65-cpsw: enable bc/mc storm prevention support") from Apr 12, 2022 (linux-next), leads to the following Smatch static checker warning: drivers/net/ethernet/ti/am65-cpsw-qos.c:1126 am65_cpsw_qos_configure_clsflower() warn: iterator 'i' not incremented drivers/net/ethernet/ti/am65-cpsw-qos.c 1118 static int am65_cpsw_qos_configure_clsflower(struct am65_cpsw_port *port, 1119 struct flow_cls_offload *cls) 1120 { 1121 struct flow_rule *rule = flow_cls_offload_flow_rule(cls); 1122 struct netlink_ext_ack *extack = cls->common.extack; 1123 const struct flow_action_entry *act; 1124 int i, ret; 1125 --> 1126 flow_action_for_each(i, act, &rule->action) { This loop only iterates one time. Is that intentional? We could use "act = flow_action_first_entry_geti(&rule->action);" if we just want the first entry. 1127 switch (act->id) { 1128 case FLOW_ACTION_POLICE: 1129 ret = am65_cpsw_qos_clsflower_policer_validate(&rule->action, act, extack); 1130 if (ret) 1131 return ret; 1132 1133 return am65_cpsw_qos_clsflower_add_policer(port, extack, cls, 1134 act->police.rate_pkt_ps); 1135 default: 1136 NL_SET_ERR_MSG_MOD(extack, 1137 "Action not supported"); 1138 return -EOPNOTSUPP; 1139 } 1140 } 1141 return -EOPNOTSUPP; 1142 } regards, dan carpenter