diff options
Diffstat (limited to 'net/sched/cls_basic.c')
-rw-r--r-- | net/sched/cls_basic.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/net/sched/cls_basic.c b/net/sched/cls_basic.c index eb219b78cd49..5877f6061b57 100644 --- a/net/sched/cls_basic.c +++ b/net/sched/cls_basic.c | |||
@@ -62,9 +62,6 @@ static unsigned long basic_get(struct tcf_proto *tp, u32 handle) | |||
62 | struct basic_head *head = rtnl_dereference(tp->root); | 62 | struct basic_head *head = rtnl_dereference(tp->root); |
63 | struct basic_filter *f; | 63 | struct basic_filter *f; |
64 | 64 | ||
65 | if (head == NULL) | ||
66 | return 0UL; | ||
67 | |||
68 | list_for_each_entry(f, &head->flist, link) { | 65 | list_for_each_entry(f, &head->flist, link) { |
69 | if (f->handle == handle) { | 66 | if (f->handle == handle) { |
70 | l = (unsigned long) f; | 67 | l = (unsigned long) f; |
@@ -109,7 +106,6 @@ static bool basic_destroy(struct tcf_proto *tp, bool force) | |||
109 | tcf_unbind_filter(tp, &f->res); | 106 | tcf_unbind_filter(tp, &f->res); |
110 | call_rcu(&f->rcu, basic_delete_filter); | 107 | call_rcu(&f->rcu, basic_delete_filter); |
111 | } | 108 | } |
112 | RCU_INIT_POINTER(tp->root, NULL); | ||
113 | kfree_rcu(head, rcu); | 109 | kfree_rcu(head, rcu); |
114 | return true; | 110 | return true; |
115 | } | 111 | } |