netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/3] net: lan966x: flower: validate control flags
@ 2024-04-24 12:53 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
                   ` (5 more replies)
  0 siblings, 6 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

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)

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [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

end of thread, other threads:[~2024-04-26  2:40 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH net-next v2 3/3] net: lan966x: flower: check for unsupported control flags Asbjørn Sloth Tønnesen
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).