[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180907030438.GX19965@ZenIV.linux.org.uk>
Date: Fri, 7 Sep 2018 04:04:38 +0100
From: Al Viro <viro@...IV.linux.org.uk>
To: Cong Wang <xiyou.wangcong@...il.com>
Cc: Jamal Hadi Salim <jhs@...atatu.com>,
Linux Kernel Network Developers <netdev@...r.kernel.org>,
Jiri Pirko <jiri@...nulli.us>
Subject: Re: [PATCH 2/7] mark root hnode explicitly
On Thu, Sep 06, 2018 at 07:57:25PM -0700, Cong Wang wrote:
> > - if (root_ht == ht) {
> > + if (ht->is_root) {
>
>
> What's wrong with comparing pointers with root ht?
The fact that there may be more than one tcf_proto sharing tp->data.
> > NL_SET_ERR_MSG_MOD(extack, "Not allowed to delete root node");
> > return -EINVAL;
> > }
> > @@ -795,6 +797,10 @@ static int u32_set_parms(struct net *net, struct tcf_proto *tp,
> > NL_SET_ERR_MSG_MOD(extack, "Link hash table not found");
> > return -EINVAL;
> > }
> > + if (ht_down->is_root) {
>
> root ht is saved in tp->root, so you can compare ht_down with it too,
> if you want.
>
> If this check is all what you need, you don't need an extra flag.
Again, *which* tp? We can trivially check that we are not linking to/deleting
our own root, sure. But there's nothing to stop doing the same via another
tcf_proto...
Powered by blists - more mailing lists