Message ID | 20240417144359.104225-1-ast@fiberby.net (mailing list archive) |
---|---|
State | Accepted |
Commit | 435f9fcc0e44b419cfd7d5742ca6f0be62d10dbb |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] net: mscc: ocelot: flower: validate control flags | expand |
Hello: This patch was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Wed, 17 Apr 2024 14:43:58 +0000 you wrote: > This driver currently doesn't support any control flags. > > Use flow_rule_match_has_control_flags() to check for control flags, > such as can be set through `tc flower ... ip_flags frag`. > > In case any control flags are masked, flow_rule_match_has_control_flags() > sets a NL extended error message, and we return -EOPNOTSUPP. > > [...] Here is the summary with links: - [net-next] net: mscc: ocelot: flower: validate control flags https://git.kernel.org/netdev/net-next/c/435f9fcc0e44 You are awesome, thank you!
diff --git a/drivers/net/ethernet/mscc/ocelot_flower.c b/drivers/net/ethernet/mscc/ocelot_flower.c index 33b438c6aec5..a057ec3dab97 100644 --- a/drivers/net/ethernet/mscc/ocelot_flower.c +++ b/drivers/net/ethernet/mscc/ocelot_flower.c @@ -609,11 +609,8 @@ ocelot_flower_parse_key(struct ocelot *ocelot, int port, bool ingress, return ret; } - if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_CONTROL)) { - struct flow_match_control match; - - flow_rule_match_control(rule, &match); - } + if (flow_rule_match_has_control_flags(rule, extack)) + return -EOPNOTSUPP; if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN)) { struct flow_match_vlan match;
This driver currently doesn't support any control flags. Use flow_rule_match_has_control_flags() to check for control flags, such as can be set through `tc flower ... ip_flags frag`. In case any control flags are masked, flow_rule_match_has_control_flags() sets a NL extended error message, and we return -EOPNOTSUPP. Only compile-tested. Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net> --- drivers/net/ethernet/mscc/ocelot_flower.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)