* [PATCH net-next v2 1/3] net: lan966x: flower: add extack to lan966x_tc_flower_handler_control_usage()
2024-04-24 12:53 [PATCH net-next v2 0/3] net: lan966x: flower: validate control flags Asbjørn Sloth Tønnesen
@ 2024-04-24 12:53 ` Asbjørn Sloth Tønnesen
2024-04-24 12:53 ` [PATCH net-next v2 2/3] net: lan966x: flower: rename goto in lan966x_tc_flower_handler_control_usage() Asbjørn Sloth Tønnesen
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Asbjørn Sloth Tønnesen @ 2024-04-24 12:53 UTC (permalink / raw)
To: netdev
Cc: Asbjørn Sloth Tønnesen, Horatiu Vultur, UNGLinuxDriver,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
linux-kernel, Jiri Pirko, Simon Horman
Define extack locally, to reduce line lengths and aid future users.
Only compile-tested.
Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
---
drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c b/drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c
index d696cf9dbd19..a63b83fa2823 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c
@@ -45,6 +45,7 @@ static bool lan966x_tc_is_known_etype(struct vcap_tc_flower_parse_usage *st,
static int
lan966x_tc_flower_handler_control_usage(struct vcap_tc_flower_parse_usage *st)
{
+ struct netlink_ext_ack *extack = st->fco->common.extack;
struct flow_match_control match;
int err = 0;
@@ -80,7 +81,7 @@ lan966x_tc_flower_handler_control_usage(struct vcap_tc_flower_parse_usage *st)
return err;
out:
- NL_SET_ERR_MSG_MOD(st->fco->common.extack, "ip_frag parse error");
+ NL_SET_ERR_MSG_MOD(extack, "ip_frag parse error");
return err;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH net-next v2 2/3] net: lan966x: flower: rename goto in lan966x_tc_flower_handler_control_usage()
2024-04-24 12:53 [PATCH net-next v2 0/3] net: lan966x: flower: validate control flags Asbjørn Sloth Tønnesen
2024-04-24 12:53 ` [PATCH net-next v2 1/3] net: lan966x: flower: add extack to lan966x_tc_flower_handler_control_usage() Asbjørn Sloth Tønnesen
@ 2024-04-24 12:53 ` Asbjørn Sloth Tønnesen
2024-04-24 12:53 ` [PATCH net-next v2 3/3] net: lan966x: flower: check for unsupported control flags Asbjørn Sloth Tønnesen
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Asbjørn Sloth Tønnesen @ 2024-04-24 12:53 UTC (permalink / raw)
To: netdev
Cc: Asbjørn Sloth Tønnesen, Horatiu Vultur, UNGLinuxDriver,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
linux-kernel, Jiri Pirko, Simon Horman
Rename goto label, as the error message is specific to the fragment flags.
Only compile-tested.
Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
---
drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c b/drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c
index a63b83fa2823..8baec0cd8d95 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c
@@ -60,7 +60,7 @@ lan966x_tc_flower_handler_control_usage(struct vcap_tc_flower_parse_usage *st)
VCAP_KF_L3_FRAGMENT,
VCAP_BIT_0);
if (err)
- goto out;
+ goto bad_frag_out;
}
if (match.mask->flags & FLOW_DIS_FIRST_FRAG) {
@@ -73,14 +73,14 @@ lan966x_tc_flower_handler_control_usage(struct vcap_tc_flower_parse_usage *st)
VCAP_KF_L3_FRAG_OFS_GT0,
VCAP_BIT_1);
if (err)
- goto out;
+ goto bad_frag_out;
}
st->used_keys |= BIT_ULL(FLOW_DISSECTOR_KEY_CONTROL);
return err;
-out:
+bad_frag_out:
NL_SET_ERR_MSG_MOD(extack, "ip_frag parse error");
return err;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH net-next v2 3/3] net: lan966x: flower: check for unsupported control flags
2024-04-24 12:53 [PATCH net-next v2 0/3] net: lan966x: flower: validate control flags Asbjørn Sloth Tønnesen
2024-04-24 12:53 ` [PATCH net-next v2 1/3] net: lan966x: flower: add extack to lan966x_tc_flower_handler_control_usage() Asbjørn Sloth Tønnesen
2024-04-24 12:53 ` [PATCH net-next v2 2/3] net: lan966x: flower: rename goto in lan966x_tc_flower_handler_control_usage() Asbjørn Sloth Tønnesen
@ 2024-04-24 12:53 ` Asbjørn Sloth Tønnesen
2024-04-24 14:49 ` [PATCH net-next v2 0/3] net: lan966x: flower: validate " Jiri Pirko
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Asbjørn Sloth Tønnesen @ 2024-04-24 12:53 UTC (permalink / raw)
To: netdev
Cc: Asbjørn Sloth Tønnesen, Horatiu Vultur, UNGLinuxDriver,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
linux-kernel, Jiri Pirko, Simon Horman
Use flow_rule_is_supp_control_flags() to reject filters with
unsupported control flags.
In case any unsupported control flags are masked,
flow_rule_is_supp_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/microchip/lan966x/lan966x_tc_flower.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c b/drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c
index 8baec0cd8d95..43913d6204e1 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_tc_flower.c
@@ -76,6 +76,11 @@ lan966x_tc_flower_handler_control_usage(struct vcap_tc_flower_parse_usage *st)
goto bad_frag_out;
}
+ if (!flow_rule_is_supp_control_flags(FLOW_DIS_IS_FRAGMENT |
+ FLOW_DIS_FIRST_FRAG,
+ match.mask->flags, extack))
+ return -EOPNOTSUPP;
+
st->used_keys |= BIT_ULL(FLOW_DISSECTOR_KEY_CONTROL);
return err;
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH net-next v2 0/3] net: lan966x: flower: validate control flags
2024-04-24 12:53 [PATCH net-next v2 0/3] net: lan966x: flower: validate control flags Asbjørn Sloth Tønnesen
` (2 preceding siblings ...)
2024-04-24 12:53 ` [PATCH net-next v2 3/3] net: lan966x: flower: check for unsupported control flags Asbjørn Sloth Tønnesen
@ 2024-04-24 14:49 ` Jiri Pirko
2024-04-24 18:54 ` Horatiu Vultur
2024-04-26 2:40 ` patchwork-bot+netdevbpf
5 siblings, 0 replies; 7+ messages in thread
From: Jiri Pirko @ 2024-04-24 14:49 UTC (permalink / raw)
To: Asbjørn Sloth Tønnesen
Cc: netdev, Horatiu Vultur, UNGLinuxDriver, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, linux-kernel,
Simon Horman
Wed, Apr 24, 2024 at 02:53:37PM CEST, ast@fiberby.net wrote:
>This series adds flower control flags validation to the
>lan966x driver, and changes it from assuming that it handles
>all control flags, to instead reject rules if they have
>masked any unknown/unsupported control flags.
>
>---
>Changelog:
>
>v2:
>* Split first patch into 2 (requested by Jiri)
>* Added cover letter (requested by Simon)
set-
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH net-next v2 0/3] net: lan966x: flower: validate control flags
2024-04-24 12:53 [PATCH net-next v2 0/3] net: lan966x: flower: validate control flags Asbjørn Sloth Tønnesen
` (3 preceding siblings ...)
2024-04-24 14:49 ` [PATCH net-next v2 0/3] net: lan966x: flower: validate " Jiri Pirko
@ 2024-04-24 18:54 ` Horatiu Vultur
2024-04-26 2:40 ` patchwork-bot+netdevbpf
5 siblings, 0 replies; 7+ messages in thread
From: Horatiu Vultur @ 2024-04-24 18:54 UTC (permalink / raw)
To: Asbjørn Sloth Tønnesen
Cc: netdev, UNGLinuxDriver, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, linux-kernel, Jiri Pirko,
Simon Horman
The 04/24/2024 12:53, Asbjørn Sloth Tønnesen wrote:
>
> This series adds flower control flags validation to the
> lan966x driver, and changes it from assuming that it handles
> all control flags, to instead reject rules if they have
> masked any unknown/unsupported control flags.
For the entire series:
Reviewed-by: Horatiu Vultur <horatiu.vultur@microchip.com>
>
> ---
> Changelog:
>
> v2:
> * Split first patch into 2 (requested by Jiri)
> * Added cover letter (requested by Simon)
>
> v1: https://lore.kernel.org/netdev/20240423102720.228728-1-ast@fiberby.net/
>
> Asbjørn Sloth Tønnesen (3):
> net: lan966x: flower: add extack to
> lan966x_tc_flower_handler_control_usage()
> net: lan966x: flower: rename goto in
> lan966x_tc_flower_handler_control_usage()
> net: lan966x: flower: check for unsupported control flags
>
> .../ethernet/microchip/lan966x/lan966x_tc_flower.c | 14 ++++++++++----
> 1 file changed, 10 insertions(+), 4 deletions(-)
>
> --
> 2.43.0
>
--
/Horatiu
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH net-next v2 0/3] net: lan966x: flower: validate control flags
2024-04-24 12:53 [PATCH net-next v2 0/3] net: lan966x: flower: validate control flags Asbjørn Sloth Tønnesen
` (4 preceding siblings ...)
2024-04-24 18:54 ` Horatiu Vultur
@ 2024-04-26 2:40 ` patchwork-bot+netdevbpf
5 siblings, 0 replies; 7+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-04-26 2:40 UTC (permalink / raw)
To: =?utf-8?b?QXNiasO4cm4gU2xvdGggVMO4bm5lc2VuIDxhc3RAZmliZXJieS5uZXQ+?=
Cc: netdev, horatiu.vultur, UNGLinuxDriver, davem, edumazet, kuba,
pabeni, linux-kernel, jiri, horms
Hello:
This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Wed, 24 Apr 2024 12:53:37 +0000 you wrote:
> This series adds flower control flags validation to the
> lan966x driver, and changes it from assuming that it handles
> all control flags, to instead reject rules if they have
> masked any unknown/unsupported control flags.
>
> ---
> Changelog:
>
> [...]
Here is the summary with links:
- [net-next,v2,1/3] net: lan966x: flower: add extack to lan966x_tc_flower_handler_control_usage()
https://git.kernel.org/netdev/net-next/c/505ccf890c21
- [net-next,v2,2/3] net: lan966x: flower: rename goto in lan966x_tc_flower_handler_control_usage()
https://git.kernel.org/netdev/net-next/c/12b8e129c409
- [net-next,v2,3/3] net: lan966x: flower: check for unsupported control flags
https://git.kernel.org/netdev/net-next/c/8c65e27b42fc
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 7+ messages in thread