diff options
Diffstat (limited to 'net/sched')
| -rw-r--r-- | net/sched/act_api.c | 3 | ||||
| -rw-r--r-- | net/sched/act_mirred.c | 5 | ||||
| -rw-r--r-- | net/sched/cls_api.c | 6 | 
3 files changed, 9 insertions, 5 deletions
| diff --git a/net/sched/act_api.c b/net/sched/act_api.c index a512b18c0088..f893d180da1c 100644 --- a/net/sched/act_api.c +++ b/net/sched/act_api.c @@ -1028,8 +1028,7 @@ static struct nlattr *find_dump_kind(const struct nlmsghdr *n)  	if (tb[1] == NULL)  		return NULL; -	if (nla_parse(tb2, TCA_ACT_MAX, nla_data(tb[1]), -		      nla_len(tb[1]), NULL) < 0) +	if (nla_parse_nested(tb2, TCA_ACT_MAX, tb[1], NULL) < 0)  		return NULL;  	kind = tb2[TCA_ACT_KIND]; diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c index 667dc382df82..6b07fba5770b 100644 --- a/net/sched/act_mirred.c +++ b/net/sched/act_mirred.c @@ -207,8 +207,11 @@ out:  static void tcf_stats_update(struct tc_action *a, u64 bytes, u32 packets,  			     u64 lastuse)  { -	tcf_lastuse_update(&a->tcfa_tm); +	struct tcf_mirred *m = to_mirred(a); +	struct tcf_t *tm = &m->tcf_tm; +  	_bstats_cpu_update(this_cpu_ptr(a->cpu_bstats), bytes, packets); +	tm->lastuse = lastuse;  }  static int tcf_mirred_dump(struct sk_buff *skb, struct tc_action *a, int bind, diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index 2ee29a3375f6..b05d4a2155b0 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c @@ -345,7 +345,8 @@ replay:  			if (err == 0) {  				struct tcf_proto *next = rtnl_dereference(tp->next); -				tfilter_notify(net, skb, n, tp, fh, +				tfilter_notify(net, skb, n, tp, +					       t->tcm_handle,  					       RTM_DELTFILTER, false);  				if (tcf_destroy(tp, false))  					RCU_INIT_POINTER(*back, next); @@ -429,7 +430,8 @@ static int tfilter_notify(struct net *net, struct sk_buff *oskb,  	if (!skb)  		return -ENOBUFS; -	if (tcf_fill_node(net, skb, tp, fh, portid, n->nlmsg_seq, 0, event) <= 0) { +	if (tcf_fill_node(net, skb, tp, fh, portid, n->nlmsg_seq, +			  n->nlmsg_flags, event) <= 0) {  		kfree_skb(skb);  		return -EINVAL;  	} |