All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-stable-rc:linux-4.9.y 1600/2430] net/sched/cls_api.c:272:9: warning: unused variable 'name'
@ 2022-09-13 22:30 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-09-13 22:30 UTC (permalink / raw)
  To: Thadeu Lima de Souza Cascardo
  Cc: kbuild-all, linux-kernel, Greg Kroah-Hartman

Hi Thadeu,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
head:   3ed886339090ff4300e95c34546dcca0e468fb1b
commit: 2b29404f4eea7da878a8a8c5b301d9adf6f56d55 [1600/2430] net: sched: prevent UAF on tc_ctl_tfilter when temporarily dropping rtnl_lock
config: x86_64-buildonly-randconfig-r002-20220912 (https://download.01.org/0day-ci/archive/20220914/202209140646.4gGeZ4I6-lkp@intel.com/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=2b29404f4eea7da878a8a8c5b301d9adf6f56d55
        git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
        git fetch --no-tags linux-stable-rc linux-4.9.y
        git checkout 2b29404f4eea7da878a8a8c5b301d9adf6f56d55
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash LDFLAGS=-z max-page-size=0x200000  net/sched/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   net/sched/cls_api.c: In function 'tc_ctl_tfilter':
>> net/sched/cls_api.c:272:9: warning: unused variable 'name' [-Wunused-variable]
       char name[IFNAMSIZ];
            ^~~~
>> net/sched/cls_api.c:271:19: warning: unused variable 'kind' [-Wunused-variable]
       struct nlattr *kind = tca[TCA_KIND];
                      ^~~~


vim +/name +272 net/sched/cls_api.c

^1da177e4c3f41 Linus Torvalds                2005-04-16  131  
661d2967b3f1b3 Thomas Graf                   2013-03-21  132  static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n)
^1da177e4c3f41 Linus Torvalds                2005-04-16  133  {
3b1e0a655f8eba YOSHIFUJI Hideaki             2008-03-26  134  	struct net *net = sock_net(skb->sk);
add93b610a4e66 Patrick McHardy               2008-01-22  135  	struct nlattr *tca[TCA_MAX + 1];
^1da177e4c3f41 Linus Torvalds                2005-04-16  136  	struct tcmsg *t;
^1da177e4c3f41 Linus Torvalds                2005-04-16  137  	u32 protocol;
^1da177e4c3f41 Linus Torvalds                2005-04-16  138  	u32 prio;
^1da177e4c3f41 Linus Torvalds                2005-04-16  139  	u32 nprio;
^1da177e4c3f41 Linus Torvalds                2005-04-16  140  	u32 parent;
^1da177e4c3f41 Linus Torvalds                2005-04-16  141  	struct net_device *dev;
^1da177e4c3f41 Linus Torvalds                2005-04-16  142  	struct Qdisc  *q;
25d8c0d55f241c John Fastabend                2014-09-12  143  	struct tcf_proto __rcu **back;
25d8c0d55f241c John Fastabend                2014-09-12  144  	struct tcf_proto __rcu **chain;
^1da177e4c3f41 Linus Torvalds                2005-04-16  145  	struct tcf_proto *tp;
dc7f9f6e883855 Eric Dumazet                  2011-07-05  146  	const struct tcf_proto_ops *tp_ops;
20fea08b5fb639 Eric Dumazet                  2007-11-14  147  	const struct Qdisc_class_ops *cops;
^1da177e4c3f41 Linus Torvalds                2005-04-16  148  	unsigned long cl;
^1da177e4c3f41 Linus Torvalds                2005-04-16  149  	unsigned long fh;
^1da177e4c3f41 Linus Torvalds                2005-04-16  150  	int err;
09babe4ce12ef1 Daniel Borkmann               2016-12-21  151  	int tp_created;
^1da177e4c3f41 Linus Torvalds                2005-04-16  152  
4e8bbb819d1594 Stéphane Graber               2014-04-30  153  	if ((n->nlmsg_type != RTM_GETTFILTER) &&
5f013c9bc70214 David S. Miller               2014-05-12  154  	    !netlink_ns_capable(skb, net->user_ns, CAP_NET_ADMIN))
dfc47ef8639fac Eric W. Biederman             2012-11-16  155  		return -EPERM;
de179c8c12e9e5 Hong zhi guo                  2013-03-25  156  
^1da177e4c3f41 Linus Torvalds                2005-04-16  157  replay:
09babe4ce12ef1 Daniel Borkmann               2016-12-21  158  	tp_created = 0;
09babe4ce12ef1 Daniel Borkmann               2016-12-21  159  
de179c8c12e9e5 Hong zhi guo                  2013-03-25  160  	err = nlmsg_parse(n, sizeof(*t), tca, TCA_MAX, NULL);
de179c8c12e9e5 Hong zhi guo                  2013-03-25  161  	if (err < 0)
de179c8c12e9e5 Hong zhi guo                  2013-03-25  162  		return err;
de179c8c12e9e5 Hong zhi guo                  2013-03-25  163  
942b81653a5252 David S. Miller               2012-06-26  164  	t = nlmsg_data(n);
^1da177e4c3f41 Linus Torvalds                2005-04-16  165  	protocol = TC_H_MIN(t->tcm_info);
^1da177e4c3f41 Linus Torvalds                2005-04-16  166  	prio = TC_H_MAJ(t->tcm_info);
^1da177e4c3f41 Linus Torvalds                2005-04-16  167  	nprio = prio;
^1da177e4c3f41 Linus Torvalds                2005-04-16  168  	parent = t->tcm_parent;
^1da177e4c3f41 Linus Torvalds                2005-04-16  169  	cl = 0;
^1da177e4c3f41 Linus Torvalds                2005-04-16  170  
^1da177e4c3f41 Linus Torvalds                2005-04-16  171  	if (prio == 0) {
ea7f8277f9076d Daniel Borkmann               2016-06-10  172  		switch (n->nlmsg_type) {
ea7f8277f9076d Daniel Borkmann               2016-06-10  173  		case RTM_DELTFILTER:
9f6ed032cd951d Daniel Borkmann               2016-06-16  174  			if (protocol || t->tcm_handle || tca[TCA_KIND])
^1da177e4c3f41 Linus Torvalds                2005-04-16  175  				return -ENOENT;
ea7f8277f9076d Daniel Borkmann               2016-06-10  176  			break;
ea7f8277f9076d Daniel Borkmann               2016-06-10  177  		case RTM_NEWTFILTER:
ea7f8277f9076d Daniel Borkmann               2016-06-10  178  			/* If no priority is provided by the user,
ea7f8277f9076d Daniel Borkmann               2016-06-10  179  			 * we allocate one.
ea7f8277f9076d Daniel Borkmann               2016-06-10  180  			 */
ea7f8277f9076d Daniel Borkmann               2016-06-10  181  			if (n->nlmsg_flags & NLM_F_CREATE) {
^1da177e4c3f41 Linus Torvalds                2005-04-16  182  				prio = TC_H_MAKE(0x80000000U, 0U);
ea7f8277f9076d Daniel Borkmann               2016-06-10  183  				break;
ea7f8277f9076d Daniel Borkmann               2016-06-10  184  			}
ea7f8277f9076d Daniel Borkmann               2016-06-10  185  			/* fall-through */
ea7f8277f9076d Daniel Borkmann               2016-06-10  186  		default:
ea7f8277f9076d Daniel Borkmann               2016-06-10  187  			return -ENOENT;
ea7f8277f9076d Daniel Borkmann               2016-06-10  188  		}
^1da177e4c3f41 Linus Torvalds                2005-04-16  189  	}
^1da177e4c3f41 Linus Torvalds                2005-04-16  190  
^1da177e4c3f41 Linus Torvalds                2005-04-16  191  	/* Find head of filter chain. */
^1da177e4c3f41 Linus Torvalds                2005-04-16  192  
^1da177e4c3f41 Linus Torvalds                2005-04-16  193  	/* Find link */
7316ae88c43d47 Tom Goff                      2010-03-19  194  	dev = __dev_get_by_index(net, t->tcm_ifindex);
aa767bfea48289 Stephen Hemminger             2008-01-21  195  	if (dev == NULL)
^1da177e4c3f41 Linus Torvalds                2005-04-16  196  		return -ENODEV;
^1da177e4c3f41 Linus Torvalds                2005-04-16  197  
^1da177e4c3f41 Linus Torvalds                2005-04-16  198  	/* Find qdisc */
^1da177e4c3f41 Linus Torvalds                2005-04-16  199  	if (!parent) {
af356afa010f3c Patrick McHardy               2009-09-04  200  		q = dev->qdisc;
^1da177e4c3f41 Linus Torvalds                2005-04-16  201  		parent = q->handle;
aa767bfea48289 Stephen Hemminger             2008-01-21  202  	} else {
aa767bfea48289 Stephen Hemminger             2008-01-21  203  		q = qdisc_lookup(dev, TC_H_MAJ(t->tcm_parent));
aa767bfea48289 Stephen Hemminger             2008-01-21  204  		if (q == NULL)
^1da177e4c3f41 Linus Torvalds                2005-04-16  205  			return -EINVAL;
aa767bfea48289 Stephen Hemminger             2008-01-21  206  	}
^1da177e4c3f41 Linus Torvalds                2005-04-16  207  
^1da177e4c3f41 Linus Torvalds                2005-04-16  208  	/* Is it classful? */
cc7ec456f82da7 Eric Dumazet                  2011-01-19  209  	cops = q->ops->cl_ops;
cc7ec456f82da7 Eric Dumazet                  2011-01-19  210  	if (!cops)
^1da177e4c3f41 Linus Torvalds                2005-04-16  211  		return -EINVAL;
^1da177e4c3f41 Linus Torvalds                2005-04-16  212  
71ebe5e9194739 Patrick McHardy               2009-09-04  213  	if (cops->tcf_chain == NULL)
71ebe5e9194739 Patrick McHardy               2009-09-04  214  		return -EOPNOTSUPP;
71ebe5e9194739 Patrick McHardy               2009-09-04  215  
^1da177e4c3f41 Linus Torvalds                2005-04-16  216  	/* Do we search for filter, attached to class? */
^1da177e4c3f41 Linus Torvalds                2005-04-16  217  	if (TC_H_MIN(parent)) {
^1da177e4c3f41 Linus Torvalds                2005-04-16  218  		cl = cops->get(q, parent);
^1da177e4c3f41 Linus Torvalds                2005-04-16  219  		if (cl == 0)
^1da177e4c3f41 Linus Torvalds                2005-04-16  220  			return -ENOENT;
^1da177e4c3f41 Linus Torvalds                2005-04-16  221  	}
^1da177e4c3f41 Linus Torvalds                2005-04-16  222  
^1da177e4c3f41 Linus Torvalds                2005-04-16  223  	/* And the last stroke */
^1da177e4c3f41 Linus Torvalds                2005-04-16  224  	chain = cops->tcf_chain(q, cl);
^1da177e4c3f41 Linus Torvalds                2005-04-16  225  	err = -EINVAL;
^1da177e4c3f41 Linus Torvalds                2005-04-16  226  	if (chain == NULL)
^1da177e4c3f41 Linus Torvalds                2005-04-16  227  		goto errout;
ea7f8277f9076d Daniel Borkmann               2016-06-10  228  	if (n->nlmsg_type == RTM_DELTFILTER && prio == 0) {
ea7f8277f9076d Daniel Borkmann               2016-06-10  229  		tfilter_notify_chain(net, skb, n, chain, RTM_DELTFILTER);
ea7f8277f9076d Daniel Borkmann               2016-06-10  230  		tcf_destroy_chain(chain);
ea7f8277f9076d Daniel Borkmann               2016-06-10  231  		err = 0;
ea7f8277f9076d Daniel Borkmann               2016-06-10  232  		goto errout;
ea7f8277f9076d Daniel Borkmann               2016-06-10  233  	}
^1da177e4c3f41 Linus Torvalds                2005-04-16  234  
^1da177e4c3f41 Linus Torvalds                2005-04-16  235  	/* Check the chain for existence of proto-tcf with this priority */
25d8c0d55f241c John Fastabend                2014-09-12  236  	for (back = chain;
25d8c0d55f241c John Fastabend                2014-09-12  237  	     (tp = rtnl_dereference(*back)) != NULL;
25d8c0d55f241c John Fastabend                2014-09-12  238  	     back = &tp->next) {
^1da177e4c3f41 Linus Torvalds                2005-04-16  239  		if (tp->prio >= prio) {
^1da177e4c3f41 Linus Torvalds                2005-04-16  240  			if (tp->prio == prio) {
cc7ec456f82da7 Eric Dumazet                  2011-01-19  241  				if (!nprio ||
cc7ec456f82da7 Eric Dumazet                  2011-01-19  242  				    (tp->protocol != protocol && protocol))
^1da177e4c3f41 Linus Torvalds                2005-04-16  243  					goto errout;
^1da177e4c3f41 Linus Torvalds                2005-04-16  244  			} else
^1da177e4c3f41 Linus Torvalds                2005-04-16  245  				tp = NULL;
^1da177e4c3f41 Linus Torvalds                2005-04-16  246  			break;
^1da177e4c3f41 Linus Torvalds                2005-04-16  247  		}
^1da177e4c3f41 Linus Torvalds                2005-04-16  248  	}
^1da177e4c3f41 Linus Torvalds                2005-04-16  249  
^1da177e4c3f41 Linus Torvalds                2005-04-16  250  	if (tp == NULL) {
^1da177e4c3f41 Linus Torvalds                2005-04-16  251  		/* Proto-tcf does not exist, create new one */
^1da177e4c3f41 Linus Torvalds                2005-04-16  252  
add93b610a4e66 Patrick McHardy               2008-01-22  253  		if (tca[TCA_KIND] == NULL || !protocol)
^1da177e4c3f41 Linus Torvalds                2005-04-16  254  			goto errout;
^1da177e4c3f41 Linus Torvalds                2005-04-16  255  
^1da177e4c3f41 Linus Torvalds                2005-04-16  256  		err = -ENOENT;
cc7ec456f82da7 Eric Dumazet                  2011-01-19  257  		if (n->nlmsg_type != RTM_NEWTFILTER ||
cc7ec456f82da7 Eric Dumazet                  2011-01-19  258  		    !(n->nlmsg_flags & NLM_F_CREATE))
^1da177e4c3f41 Linus Torvalds                2005-04-16  259  			goto errout;
^1da177e4c3f41 Linus Torvalds                2005-04-16  260  
^1da177e4c3f41 Linus Torvalds                2005-04-16  261  
^1da177e4c3f41 Linus Torvalds                2005-04-16  262  		/* Create new proto tcf */
^1da177e4c3f41 Linus Torvalds                2005-04-16  263  
^1da177e4c3f41 Linus Torvalds                2005-04-16  264  		err = -ENOBUFS;
aa767bfea48289 Stephen Hemminger             2008-01-21  265  		tp = kzalloc(sizeof(*tp), GFP_KERNEL);
aa767bfea48289 Stephen Hemminger             2008-01-21  266  		if (tp == NULL)
^1da177e4c3f41 Linus Torvalds                2005-04-16  267  			goto errout;
f2df824948d559 Patrick McHardy               2008-05-20  268  		err = -ENOENT;
add93b610a4e66 Patrick McHardy               2008-01-22  269  		tp_ops = tcf_proto_lookup_ops(tca[TCA_KIND]);
^1da177e4c3f41 Linus Torvalds                2005-04-16  270  		if (tp_ops == NULL) {
add93b610a4e66 Patrick McHardy               2008-01-22 @271  			struct nlattr *kind = tca[TCA_KIND];
^1da177e4c3f41 Linus Torvalds                2005-04-16 @272  			char name[IFNAMSIZ];
^1da177e4c3f41 Linus Torvalds                2005-04-16  273  
2b29404f4eea7d Thadeu Lima de Souza Cascardo 2022-05-02  274  			if (cl)
2b29404f4eea7d Thadeu Lima de Souza Cascardo 2022-05-02  275  				cops->put(q, cl);
2b29404f4eea7d Thadeu Lima de Souza Cascardo 2022-05-02  276  			cl = 0;
2b29404f4eea7d Thadeu Lima de Souza Cascardo 2022-05-02  277  #ifdef CONFIG_MODULES
^1da177e4c3f41 Linus Torvalds                2005-04-16  278  			if (kind != NULL &&
add93b610a4e66 Patrick McHardy               2008-01-22  279  			    nla_strlcpy(name, kind, IFNAMSIZ) < IFNAMSIZ) {
^1da177e4c3f41 Linus Torvalds                2005-04-16  280  				rtnl_unlock();
^1da177e4c3f41 Linus Torvalds                2005-04-16  281  				request_module("cls_%s", name);
^1da177e4c3f41 Linus Torvalds                2005-04-16  282  				rtnl_lock();
^1da177e4c3f41 Linus Torvalds                2005-04-16  283  				tp_ops = tcf_proto_lookup_ops(kind);
^1da177e4c3f41 Linus Torvalds                2005-04-16  284  				/* We dropped the RTNL semaphore in order to
^1da177e4c3f41 Linus Torvalds                2005-04-16  285  				 * perform the module load.  So, even if we
^1da177e4c3f41 Linus Torvalds                2005-04-16  286  				 * succeeded in loading the module we have to
^1da177e4c3f41 Linus Torvalds                2005-04-16  287  				 * replay the request.  We indicate this using
^1da177e4c3f41 Linus Torvalds                2005-04-16  288  				 * -EAGAIN.
^1da177e4c3f41 Linus Torvalds                2005-04-16  289  				 */
^1da177e4c3f41 Linus Torvalds                2005-04-16  290  				if (tp_ops != NULL) {
^1da177e4c3f41 Linus Torvalds                2005-04-16  291  					module_put(tp_ops->owner);
^1da177e4c3f41 Linus Torvalds                2005-04-16  292  					err = -EAGAIN;
^1da177e4c3f41 Linus Torvalds                2005-04-16  293  				}
^1da177e4c3f41 Linus Torvalds                2005-04-16  294  			}
^1da177e4c3f41 Linus Torvalds                2005-04-16  295  #endif
^1da177e4c3f41 Linus Torvalds                2005-04-16  296  			kfree(tp);
^1da177e4c3f41 Linus Torvalds                2005-04-16  297  			goto errout;
^1da177e4c3f41 Linus Torvalds                2005-04-16  298  		}
^1da177e4c3f41 Linus Torvalds                2005-04-16  299  		tp->ops = tp_ops;
^1da177e4c3f41 Linus Torvalds                2005-04-16  300  		tp->protocol = protocol;
25d8c0d55f241c John Fastabend                2014-09-12  301  		tp->prio = nprio ? :
25d8c0d55f241c John Fastabend                2014-09-12  302  			       TC_H_MAJ(tcf_auto_prio(rtnl_dereference(*back)));
^1da177e4c3f41 Linus Torvalds                2005-04-16  303  		tp->q = q;
^1da177e4c3f41 Linus Torvalds                2005-04-16  304  		tp->classify = tp_ops->classify;
^1da177e4c3f41 Linus Torvalds                2005-04-16  305  		tp->classid = parent;
aa767bfea48289 Stephen Hemminger             2008-01-21  306  
aa767bfea48289 Stephen Hemminger             2008-01-21  307  		err = tp_ops->init(tp);
aa767bfea48289 Stephen Hemminger             2008-01-21  308  		if (err != 0) {
^1da177e4c3f41 Linus Torvalds                2005-04-16  309  			module_put(tp_ops->owner);
^1da177e4c3f41 Linus Torvalds                2005-04-16  310  			kfree(tp);
^1da177e4c3f41 Linus Torvalds                2005-04-16  311  			goto errout;
^1da177e4c3f41 Linus Torvalds                2005-04-16  312  		}
^1da177e4c3f41 Linus Torvalds                2005-04-16  313  
12186be7d2e110 Minoru Usui                   2009-06-02  314  		tp_created = 1;
^1da177e4c3f41 Linus Torvalds                2005-04-16  315  
add93b610a4e66 Patrick McHardy               2008-01-22  316  	} else if (tca[TCA_KIND] && nla_strcmp(tca[TCA_KIND], tp->ops->kind))
^1da177e4c3f41 Linus Torvalds                2005-04-16  317  		goto errout;
^1da177e4c3f41 Linus Torvalds                2005-04-16  318  
^1da177e4c3f41 Linus Torvalds                2005-04-16  319  	fh = tp->ops->get(tp, t->tcm_handle);
^1da177e4c3f41 Linus Torvalds                2005-04-16  320  
^1da177e4c3f41 Linus Torvalds                2005-04-16  321  	if (fh == 0) {
^1da177e4c3f41 Linus Torvalds                2005-04-16  322  		if (n->nlmsg_type == RTM_DELTFILTER && t->tcm_handle == 0) {
25d8c0d55f241c John Fastabend                2014-09-12  323  			struct tcf_proto *next = rtnl_dereference(tp->next);
25d8c0d55f241c John Fastabend                2014-09-12  324  
25d8c0d55f241c John Fastabend                2014-09-12  325  			RCU_INIT_POINTER(*back, next);
^1da177e4c3f41 Linus Torvalds                2005-04-16  326  
fa59b27c9d6f84 Eric Dumazet                  2016-10-09  327  			tfilter_notify(net, skb, n, tp, fh,
fa59b27c9d6f84 Eric Dumazet                  2016-10-09  328  				       RTM_DELTFILTER, false);
1e052be69d045c Cong Wang                     2015-03-06  329  			tcf_destroy(tp, true);
^1da177e4c3f41 Linus Torvalds                2005-04-16  330  			err = 0;
^1da177e4c3f41 Linus Torvalds                2005-04-16  331  			goto errout;
^1da177e4c3f41 Linus Torvalds                2005-04-16  332  		}
^1da177e4c3f41 Linus Torvalds                2005-04-16  333  
^1da177e4c3f41 Linus Torvalds                2005-04-16  334  		err = -ENOENT;
aa767bfea48289 Stephen Hemminger             2008-01-21  335  		if (n->nlmsg_type != RTM_NEWTFILTER ||
aa767bfea48289 Stephen Hemminger             2008-01-21  336  		    !(n->nlmsg_flags & NLM_F_CREATE))
^1da177e4c3f41 Linus Torvalds                2005-04-16  337  			goto errout;
^1da177e4c3f41 Linus Torvalds                2005-04-16  338  	} else {
^1da177e4c3f41 Linus Torvalds                2005-04-16  339  		switch (n->nlmsg_type) {
^1da177e4c3f41 Linus Torvalds                2005-04-16  340  		case RTM_NEWTFILTER:
^1da177e4c3f41 Linus Torvalds                2005-04-16  341  			err = -EEXIST;
12186be7d2e110 Minoru Usui                   2009-06-02  342  			if (n->nlmsg_flags & NLM_F_EXCL) {
12186be7d2e110 Minoru Usui                   2009-06-02  343  				if (tp_created)
1e052be69d045c Cong Wang                     2015-03-06  344  					tcf_destroy(tp, true);
^1da177e4c3f41 Linus Torvalds                2005-04-16  345  				goto errout;
12186be7d2e110 Minoru Usui                   2009-06-02  346  			}
^1da177e4c3f41 Linus Torvalds                2005-04-16  347  			break;
^1da177e4c3f41 Linus Torvalds                2005-04-16  348  		case RTM_DELTFILTER:
^1da177e4c3f41 Linus Torvalds                2005-04-16  349  			err = tp->ops->delete(tp, fh);
1e052be69d045c Cong Wang                     2015-03-06  350  			if (err == 0) {
1e052be69d045c Cong Wang                     2015-03-06  351  				struct tcf_proto *next = rtnl_dereference(tp->next);
1e052be69d045c Cong Wang                     2015-03-06  352  
9ee7837449b3d6 Jamal Hadi Salim              2016-10-24  353  				tfilter_notify(net, skb, n, tp,
9ee7837449b3d6 Jamal Hadi Salim              2016-10-24  354  					       t->tcm_handle,
fa59b27c9d6f84 Eric Dumazet                  2016-10-09  355  					       RTM_DELTFILTER, false);
d744318574090c WANG Cong                     2015-05-05  356  				if (tcf_destroy(tp, false))
1e052be69d045c Cong Wang                     2015-03-06  357  					RCU_INIT_POINTER(*back, next);
1e052be69d045c Cong Wang                     2015-03-06  358  			}
^1da177e4c3f41 Linus Torvalds                2005-04-16  359  			goto errout;
^1da177e4c3f41 Linus Torvalds                2005-04-16  360  		case RTM_GETTFILTER:
5a7a5555a362f6 Jamal Hadi Salim              2016-09-18  361  			err = tfilter_notify(net, skb, n, tp, fh,
fa59b27c9d6f84 Eric Dumazet                  2016-10-09  362  					     RTM_NEWTFILTER, true);
^1da177e4c3f41 Linus Torvalds                2005-04-16  363  			goto errout;
^1da177e4c3f41 Linus Torvalds                2005-04-16  364  		default:
^1da177e4c3f41 Linus Torvalds                2005-04-16  365  			err = -EINVAL;
^1da177e4c3f41 Linus Torvalds                2005-04-16  366  			goto errout;
^1da177e4c3f41 Linus Torvalds                2005-04-16  367  		}
^1da177e4c3f41 Linus Torvalds                2005-04-16  368  	}
^1da177e4c3f41 Linus Torvalds                2005-04-16  369  
2f7ef2f8790f5b Cong Wang                     2014-04-25  370  	err = tp->ops->change(net, skb, tp, cl, t->tcm_handle, tca, &fh,
2f7ef2f8790f5b Cong Wang                     2014-04-25  371  			      n->nlmsg_flags & NLM_F_CREATE ? TCA_ACT_NOREPLACE : TCA_ACT_REPLACE);
12186be7d2e110 Minoru Usui                   2009-06-02  372  	if (err == 0) {
12186be7d2e110 Minoru Usui                   2009-06-02  373  		if (tp_created) {
25d8c0d55f241c John Fastabend                2014-09-12  374  			RCU_INIT_POINTER(tp->next, rtnl_dereference(*back));
25d8c0d55f241c John Fastabend                2014-09-12  375  			rcu_assign_pointer(*back, tp);
12186be7d2e110 Minoru Usui                   2009-06-02  376  		}
fa59b27c9d6f84 Eric Dumazet                  2016-10-09  377  		tfilter_notify(net, skb, n, tp, fh, RTM_NEWTFILTER, false);
12186be7d2e110 Minoru Usui                   2009-06-02  378  	} else {
12186be7d2e110 Minoru Usui                   2009-06-02  379  		if (tp_created)
1e052be69d045c Cong Wang                     2015-03-06  380  			tcf_destroy(tp, true);
12186be7d2e110 Minoru Usui                   2009-06-02  381  	}
^1da177e4c3f41 Linus Torvalds                2005-04-16  382  
^1da177e4c3f41 Linus Torvalds                2005-04-16  383  errout:
^1da177e4c3f41 Linus Torvalds                2005-04-16  384  	if (cl)
^1da177e4c3f41 Linus Torvalds                2005-04-16  385  		cops->put(q, cl);
^1da177e4c3f41 Linus Torvalds                2005-04-16  386  	if (err == -EAGAIN)
^1da177e4c3f41 Linus Torvalds                2005-04-16  387  		/* Replay the request. */
^1da177e4c3f41 Linus Torvalds                2005-04-16  388  		goto replay;
^1da177e4c3f41 Linus Torvalds                2005-04-16  389  	return err;
^1da177e4c3f41 Linus Torvalds                2005-04-16  390  }
^1da177e4c3f41 Linus Torvalds                2005-04-16  391  

:::::: The code at line 272 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-09-13 22:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-13 22:30 [linux-stable-rc:linux-4.9.y 1600/2430] net/sched/cls_api.c:272:9: warning: unused variable 'name' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.