[PATCH v2,net-next] net/sched: remove return value of unregister_tcf_proto_ops

Zhengchao Shao posted 1 patch 3 years, 9 months ago
There is a newer version of this series
include/net/pkt_cls.h | 2 +-
net/sched/cls_api.c   | 7 +++++--
2 files changed, 6 insertions(+), 3 deletions(-)
[PATCH v2,net-next] net/sched: remove return value of unregister_tcf_proto_ops
Posted by Zhengchao Shao 3 years, 9 months ago
Return value of unregister_tcf_proto_ops is unused, remove it.

Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
---
v1: need to warn if unregister failed. 

 include/net/pkt_cls.h | 2 +-
 net/sched/cls_api.c   | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h
index 8cf001aed858..d9d90e6925e1 100644
--- a/include/net/pkt_cls.h
+++ b/include/net/pkt_cls.h
@@ -23,7 +23,7 @@ struct tcf_walker {
 };
 
 int register_tcf_proto_ops(struct tcf_proto_ops *ops);
-int unregister_tcf_proto_ops(struct tcf_proto_ops *ops);
+void unregister_tcf_proto_ops(struct tcf_proto_ops *ops);
 
 struct tcf_block_ext_info {
 	enum flow_block_binder_type binder_type;
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index 9bb4d3dcc994..d20dd1532b48 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -194,7 +194,7 @@ EXPORT_SYMBOL(register_tcf_proto_ops);
 
 static struct workqueue_struct *tc_filter_wq;
 
-int unregister_tcf_proto_ops(struct tcf_proto_ops *ops)
+void unregister_tcf_proto_ops(struct tcf_proto_ops *ops)
 {
 	struct tcf_proto_ops *t;
 	int rc = -ENOENT;
@@ -214,7 +214,10 @@ int unregister_tcf_proto_ops(struct tcf_proto_ops *ops)
 		}
 	}
 	write_unlock(&cls_mod_lock);
-	return rc;
+
+	if (rc)
+		pr_warn("unregister tc filter kind(%s) failed\n", ops->kind);
+
 }
 EXPORT_SYMBOL(unregister_tcf_proto_ops);
 
-- 
2.17.1
Re: [PATCH v2,net-next] net/sched: remove return value of unregister_tcf_proto_ops
Posted by Jakub Kicinski 3 years, 9 months ago
On Mon, 11 Jul 2022 16:09:10 +0800 Zhengchao Shao wrote:
> Return value of unregister_tcf_proto_ops is unused, remove it.

> -int unregister_tcf_proto_ops(struct tcf_proto_ops *ops)
> +void unregister_tcf_proto_ops(struct tcf_proto_ops *ops)
>  {
>  	struct tcf_proto_ops *t;
>  	int rc = -ENOENT;
> @@ -214,7 +214,10 @@ int unregister_tcf_proto_ops(struct tcf_proto_ops *ops)
>  		}
>  	}
>  	write_unlock(&cls_mod_lock);
> -	return rc;
> +

> +	if (rc)
> +		pr_warn("unregister tc filter kind(%s) failed\n", ops->kind);

I was saying WARN, by which I meant:

WARN(rc, "unregister tc filter kind(%s) failed %d\n", ops->kind, rc);
答复: [PATCH v2,net-next] net/sched: remove return value of unregister_tcf_proto_ops
Posted by shaozhengchao 3 years, 9 months ago

-----邮件原件-----
发件人: Jakub Kicinski [mailto:kuba@kernel.org] 
发送时间: 2022年7月13日 9:09
收件人: shaozhengchao <shaozhengchao@huawei.com>
抄送: linux-kernel@vger.kernel.org; netdev@vger.kernel.org; jhs@mojatatu.com; xiyou.wangcong@gmail.com; jiri@resnulli.us; davem@davemloft.net; edumazet@google.com; pabeni@redhat.com; weiyongjun (A) <weiyongjun1@huawei.com>; yuehaibing <yuehaibing@huawei.com>
主题: Re: [PATCH v2,net-next] net/sched: remove return value of unregister_tcf_proto_ops

On Mon, 11 Jul 2022 16:09:10 +0800 Zhengchao Shao wrote:
> Return value of unregister_tcf_proto_ops is unused, remove it.

> -int unregister_tcf_proto_ops(struct tcf_proto_ops *ops)
> +void unregister_tcf_proto_ops(struct tcf_proto_ops *ops)
>  {
>  	struct tcf_proto_ops *t;
>  	int rc = -ENOENT;
> @@ -214,7 +214,10 @@ int unregister_tcf_proto_ops(struct tcf_proto_ops *ops)
>  		}
>  	}
>  	write_unlock(&cls_mod_lock);
> -	return rc;
> +

> +	if (rc)
> +		pr_warn("unregister tc filter kind(%s) failed\n", ops->kind);

I was saying WARN, by which I meant:

WARN(rc, "unregister tc filter kind(%s) failed %d\n", ops->kind, rc);

Hi Jakub:
	Thank you for your reply. I will fix it.

Zhangchao Shao