mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	net-sched: Fix actions flushing
Flushing of actions has been broken since we changed the semantics of netlink parsed tb[X] to mean X is an attribute type. This makes the flushing work. Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									34093d055e
								
							
						
					
					
						commit
						f97017cdef
					
				
					 1 changed files with 7 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -790,6 +790,8 @@ static int tca_action_flush(struct nlattr *nla, struct nlmsghdr *n, u32 pid)
 | 
			
		|||
	err = a->ops->walk(skb, &dcb, RTM_DELACTION, a);
 | 
			
		||||
	if (err < 0)
 | 
			
		||||
		goto nla_put_failure;
 | 
			
		||||
	if (err == 0)
 | 
			
		||||
		goto noflush_out;
 | 
			
		||||
 | 
			
		||||
	nla_nest_end(skb, nest);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -807,6 +809,7 @@ static int tca_action_flush(struct nlattr *nla, struct nlmsghdr *n, u32 pid)
 | 
			
		|||
nlmsg_failure:
 | 
			
		||||
	module_put(a->ops->owner);
 | 
			
		||||
err_out:
 | 
			
		||||
noflush_out:
 | 
			
		||||
	kfree_skb(skb);
 | 
			
		||||
	kfree(a);
 | 
			
		||||
	return err;
 | 
			
		||||
| 
						 | 
				
			
			@ -824,8 +827,10 @@ tca_action_gd(struct nlattr *nla, struct nlmsghdr *n, u32 pid, int event)
 | 
			
		|||
		return ret;
 | 
			
		||||
 | 
			
		||||
	if (event == RTM_DELACTION && n->nlmsg_flags&NLM_F_ROOT) {
 | 
			
		||||
		if (tb[0] != NULL && tb[1] == NULL)
 | 
			
		||||
			return tca_action_flush(tb[0], n, pid);
 | 
			
		||||
		if (tb[1] != NULL)
 | 
			
		||||
			return tca_action_flush(tb[1], n, pid);
 | 
			
		||||
		else
 | 
			
		||||
			return -EINVAL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for (i = 1; i <= TCA_ACT_MAX_PRIO && tb[i]; i++) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue