forked from luck/tmp_suning_uos_patched
net_sched: fix a missing idr_remove() in u32_delete_key()
When we delete a u32 key via u32_delete_key(), we forget to
call idr_remove() to remove its handle from IDR.
Fixes: e7614370d6
("net_sched: use idr to allocate u32 filter handles")
Reported-by: Marcin Kabiesz <admin@hostcenter.eu>
Tested-by: Marcin Kabiesz <admin@hostcenter.eu>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
dd9a122ae9
commit
f12c643209
|
@ -489,6 +489,7 @@ static int u32_delete_key(struct tcf_proto *tp, struct tc_u_knode *key)
|
|||
RCU_INIT_POINTER(*kp, key->next);
|
||||
|
||||
tcf_unbind_filter(tp, &key->res);
|
||||
idr_remove(&ht->handle_idr, key->handle);
|
||||
tcf_exts_get_net(&key->exts);
|
||||
call_rcu(&key->rcu, u32_delete_key_freepf_rcu);
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue
Block a user