Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 725cbb62 authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller
Browse files

sched: cls_flower: remove from hashtable only in case skip sw flag is not set



Be symmetric to hashtable insert and remove filter from hashtable only
in case skip sw flag is not set.

Fixes: e69985c6 ("net/sched: cls_flower: Introduce support in SKIP SW flag")
Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
Reviewed-by: default avatarAmir Vadai <amir@vadai.me>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 648f0c28
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -732,6 +732,7 @@ static int fl_change(struct net *net, struct sk_buff *in_skb,
		goto errout;

	if (fold) {
		if (!tc_skip_sw(fold->flags))
			rhashtable_remove_fast(&head->ht, &fold->ht_node,
					       head->ht_params);
		fl_hw_destroy_filter(tp, (unsigned long)fold);
@@ -760,6 +761,7 @@ static int fl_delete(struct tcf_proto *tp, unsigned long arg)
	struct cls_fl_head *head = rtnl_dereference(tp->root);
	struct cls_fl_filter *f = (struct cls_fl_filter *) arg;

	if (!tc_skip_sw(f->flags))
		rhashtable_remove_fast(&head->ht, &f->ht_node,
				       head->ht_params);
	list_del_rcu(&f->list);