Message ID | 20240511073705.230507-1-ast@fiberby.net (mailing list archive) |
---|---|
State | Accepted |
Commit | 486ffc33c2dd9c611f14adc4b1a5c1dc1f02fd30 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next,v2] net: qede: flower: validate control flags | expand |
On Sat, May 11, 2024 at 07:37:03AM +0000, Asbjørn Sloth Tønnesen 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. > > Only compile-tested. > > Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net> Reviewed-by: Simon Horman <horms@kernel.org>
Hello: This patch was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Sat, 11 May 2024 07:37:03 +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,v2] net: qede: flower: validate control flags https://git.kernel.org/netdev/net-next/c/486ffc33c2dd You are awesome, thank you!
diff --git a/drivers/net/ethernet/qlogic/qede/qede_filter.c b/drivers/net/ethernet/qlogic/qede/qede_filter.c index 9c72febc6a42..985026dd816f 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_filter.c +++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c @@ -1848,6 +1848,9 @@ qede_parse_flow_attr(__be16 proto, struct flow_rule *rule, return -EOPNOTSUPP; } + if (flow_rule_match_has_control_flags(rule, extack)) + return -EOPNOTSUPP; + if (proto != htons(ETH_P_IP) && proto != htons(ETH_P_IPV6)) { NL_SET_ERR_MSG_FMT_MOD(extack, "Unsupported proto=0x%x",
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> --- AFAICT this is the last driver which didn't validate these flags. $ git grep FLOW_DISSECTOR_KEY_CONTROL drivers/ $ git grep 'flow_rule_.*_control_flags' drivers/ Changelog: v2: - rework patch, to use flow_rule_match_has_control_flags(), now that the driver have been converted to use extack for error reporting. v1: https://lore.kernel.org/netdev/20240424134250.465904-1-ast@fiberby.net/ drivers/net/ethernet/qlogic/qede/qede_filter.c | 3 +++ 1 file changed, 3 insertions(+)