The container in the action configuration is U32,
but the ID is U16, and overflow check is missing.
Fixes: 1fb65e4dae8a ("net/sfc: support flow action port ID in transfer rules")
Cc: [email protected]
Signed-off-by: Ivan Malov <[email protected]>
Reviewed-by: Andrew Rybchenko <[email protected]>
Reviewed-by: Andy Moreton <[email protected]>
---
drivers/net/sfc/sfc_mae.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/sfc/sfc_mae.c b/drivers/net/sfc/sfc_mae.c
index a2c0aa143..9b7163e82 100644
--- a/drivers/net/sfc/sfc_mae.c
+++ b/drivers/net/sfc/sfc_mae.c
@@ -2563,6 +2563,9 @@ sfc_mae_rule_parse_action_port_id(struct sfc_adapter *sa,
uint16_t port_id;
int rc;
+ if (conf->id > UINT16_MAX)
+ return EOVERFLOW;
+
port_id = (conf->original != 0) ? sas->port_id : conf->id;
rc = sfc_mae_switch_port_by_ethdev(mae->switch_domain_id,
--
2.20.1