* [PATCH net-next v2 0/2] Fixes for unlocked cls hardware offload API refactoring
@ 2019-08-29 16:15 Vlad Buslov
2019-08-29 16:15 ` [PATCH net-next v2 1/2] net: sched: cls_matchall: cleanup flow_action before deallocating Vlad Buslov
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Vlad Buslov @ 2019-08-29 16:15 UTC (permalink / raw)
To: netdev
Cc: jhs, xiyou.wangcong, jiri, davem, saeedm, idosch,
sergei.shtylyov, Vlad Buslov
Two fixes for my "Refactor cls hardware offload API to support
rtnl-independent drivers" series.
Vlad Buslov (2):
net: sched: cls_matchall: cleanup flow_action before deallocating
net/mlx5e: Move local var definition into ifdef block
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 6 ++++--
net/sched/cls_matchall.c | 2 ++
2 files changed, 6 insertions(+), 2 deletions(-)
--
2.21.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH net-next v2 1/2] net: sched: cls_matchall: cleanup flow_action before deallocating
2019-08-29 16:15 [PATCH net-next v2 0/2] Fixes for unlocked cls hardware offload API refactoring Vlad Buslov
@ 2019-08-29 16:15 ` Vlad Buslov
2019-08-29 16:15 ` [PATCH net-next v2 2/2] net/mlx5e: Move local var definition into ifdef block Vlad Buslov
2019-08-30 22:12 ` [PATCH net-next v2 0/2] Fixes for unlocked cls hardware offload API refactoring David Miller
2 siblings, 0 replies; 4+ messages in thread
From: Vlad Buslov @ 2019-08-29 16:15 UTC (permalink / raw)
To: netdev
Cc: jhs, xiyou.wangcong, jiri, davem, saeedm, idosch,
sergei.shtylyov, Vlad Buslov
Recent rtnl lock removal patch changed flow_action infra to require proper
cleanup besides simple memory deallocation. However, matchall classifier
was not updated to call tc_cleanup_flow_action(). Add proper cleanup to
mall_replace_hw_filter() and mall_reoffload().
Fixes: 5a6ff4b13d59 ("net: sched: take reference to action dev before calling offloads")
Reported-by: Ido Schimmel <idosch@mellanox.com>
Tested-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
---
net/sched/cls_matchall.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/net/sched/cls_matchall.c b/net/sched/cls_matchall.c
index 3266f25011cc..7fc2eb62aa98 100644
--- a/net/sched/cls_matchall.c
+++ b/net/sched/cls_matchall.c
@@ -111,6 +111,7 @@ static int mall_replace_hw_filter(struct tcf_proto *tp,
err = tc_setup_cb_add(block, tp, TC_SETUP_CLSMATCHALL, &cls_mall,
skip_sw, &head->flags, &head->in_hw_count, true);
+ tc_cleanup_flow_action(&cls_mall.rule->action);
kfree(cls_mall.rule);
if (err) {
@@ -313,6 +314,7 @@ static int mall_reoffload(struct tcf_proto *tp, bool add, flow_setup_cb_t *cb,
err = tc_setup_cb_reoffload(block, tp, add, cb, TC_SETUP_CLSMATCHALL,
&cls_mall, cb_priv, &head->flags,
&head->in_hw_count);
+ tc_cleanup_flow_action(&cls_mall.rule->action);
kfree(cls_mall.rule);
if (err)
--
2.21.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH net-next v2 2/2] net/mlx5e: Move local var definition into ifdef block
2019-08-29 16:15 [PATCH net-next v2 0/2] Fixes for unlocked cls hardware offload API refactoring Vlad Buslov
2019-08-29 16:15 ` [PATCH net-next v2 1/2] net: sched: cls_matchall: cleanup flow_action before deallocating Vlad Buslov
@ 2019-08-29 16:15 ` Vlad Buslov
2019-08-30 22:12 ` [PATCH net-next v2 0/2] Fixes for unlocked cls hardware offload API refactoring David Miller
2 siblings, 0 replies; 4+ messages in thread
From: Vlad Buslov @ 2019-08-29 16:15 UTC (permalink / raw)
To: netdev
Cc: jhs, xiyou.wangcong, jiri, davem, saeedm, idosch,
sergei.shtylyov, Vlad Buslov, tanhuazhong
New local variable "struct flow_block_offload *f" was added to
mlx5e_setup_tc() in recent rtnl lock removal patches. The variable is used
in code that is only compiled when CONFIG_MLX5_ESWITCH is enabled. This
results compilation warning about unused variable when CONFIG_MLX5_ESWITCH
is not set. Move the variable definition into eswitch-specific code block
from the beginning of mlx5e_setup_tc() function.
Fixes: c9f14470d048 ("net: sched: add API for registering unlocked offload block callbacks")
Reported-by: tanhuazhong <tanhuazhong@huawei.com>
Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
---
Notes:
Changes V1 -> V2:
- Fixed error in commit message.
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
index 8592b98d0e70..c10a1fc8e469 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
@@ -3470,16 +3470,18 @@ static int mlx5e_setup_tc(struct net_device *dev, enum tc_setup_type type,
void *type_data)
{
struct mlx5e_priv *priv = netdev_priv(dev);
- struct flow_block_offload *f = type_data;
switch (type) {
#ifdef CONFIG_MLX5_ESWITCH
- case TC_SETUP_BLOCK:
+ case TC_SETUP_BLOCK: {
+ struct flow_block_offload *f = type_data;
+
f->unlocked_driver_cb = true;
return flow_block_cb_setup_simple(type_data,
&mlx5e_block_cb_list,
mlx5e_setup_tc_block_cb,
priv, priv, true);
+ }
#endif
case TC_SETUP_QDISC_MQPRIO:
return mlx5e_setup_tc_mqprio(priv, type_data);
--
2.21.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH net-next v2 0/2] Fixes for unlocked cls hardware offload API refactoring
2019-08-29 16:15 [PATCH net-next v2 0/2] Fixes for unlocked cls hardware offload API refactoring Vlad Buslov
2019-08-29 16:15 ` [PATCH net-next v2 1/2] net: sched: cls_matchall: cleanup flow_action before deallocating Vlad Buslov
2019-08-29 16:15 ` [PATCH net-next v2 2/2] net/mlx5e: Move local var definition into ifdef block Vlad Buslov
@ 2019-08-30 22:12 ` David Miller
2 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2019-08-30 22:12 UTC (permalink / raw)
To: vladbu; +Cc: netdev, jhs, xiyou.wangcong, jiri, saeedm, idosch, sergei.shtylyov
From: Vlad Buslov <vladbu@mellanox.com>
Date: Thu, 29 Aug 2019 19:15:15 +0300
> Two fixes for my "Refactor cls hardware offload API to support
> rtnl-independent drivers" series.
Series applied, thanks Vlad.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-08-30 22:12 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-29 16:15 [PATCH net-next v2 0/2] Fixes for unlocked cls hardware offload API refactoring Vlad Buslov
2019-08-29 16:15 ` [PATCH net-next v2 1/2] net: sched: cls_matchall: cleanup flow_action before deallocating Vlad Buslov
2019-08-29 16:15 ` [PATCH net-next v2 2/2] net/mlx5e: Move local var definition into ifdef block Vlad Buslov
2019-08-30 22:12 ` [PATCH net-next v2 0/2] Fixes for unlocked cls hardware offload API refactoring David Miller
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).