From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: [Patch net-next] net_sched: fix an extack message in tcf_block_find() Date: Thu, 27 Sep 2018 14:16:14 -0700 Message-ID: References: <20180927204219.17846-1-xiyou.wangcong@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: jiri@resnulli.us, jhs@mojatatu.com, vladbu@mellanox.com To: Cong Wang , netdev@vger.kernel.org Return-path: Received: from mail-pf1-f193.google.com ([209.85.210.193]:46553 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727340AbeI1Dgb (ORCPT ); Thu, 27 Sep 2018 23:36:31 -0400 Received: by mail-pf1-f193.google.com with SMTP id d8-v6so2737122pfo.13 for ; Thu, 27 Sep 2018 14:16:17 -0700 (PDT) In-Reply-To: <20180927204219.17846-1-xiyou.wangcong@gmail.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 09/27/2018 01:42 PM, Cong Wang wrote: > It is clearly a copy-n-paste. > > Signed-off-by: Cong Wang > --- > net/sched/cls_api.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c > index 3de47e99b788..8dd7f8af6d54 100644 > --- a/net/sched/cls_api.c > +++ b/net/sched/cls_api.c > @@ -655,7 +655,7 @@ static struct tcf_block *tcf_block_find(struct net *net, struct Qdisc **q, > > *q = qdisc_refcount_inc_nz(*q); > if (!*q) { > - NL_SET_ERR_MSG(extack, "Parent Qdisc doesn't exists"); > + NL_SET_ERR_MSG(extack, "Can't increase Qdisc refcount"); I am not sure it was a copy-n-paste. Qdisc refcount business is kernel internal. If we can not increase the refcount, this is precisely because this qdisc is about to be destroyed. Nothing fundamentally different than having this thread delayed a bit and qdisc_lookup_rcu() returning NULL in the first place. This also means that using RCU for control path is problematic, as surely the caller of this interface would prefer something that succeeds, even if this means waiting a bit in the kernel. Or are we willing to change ip command and make it restart failed syscalls ?