diff options
Diffstat (limited to 'net/sched/cls_tcindex.c')
-rw-r--r-- | net/sched/cls_tcindex.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/net/sched/cls_tcindex.c b/net/sched/cls_tcindex.c index 404d9d83a7fa..9f921174c8ab 100644 --- a/net/sched/cls_tcindex.c +++ b/net/sched/cls_tcindex.c | |||
@@ -194,8 +194,7 @@ found: | |||
194 | } | 194 | } |
195 | tcf_unbind_filter(tp, &r->res); | 195 | tcf_unbind_filter(tp, &r->res); |
196 | tcf_exts_destroy(tp, &r->exts); | 196 | tcf_exts_destroy(tp, &r->exts); |
197 | if (f) | 197 | kfree(f); |
198 | kfree(f); | ||
199 | return 0; | 198 | return 0; |
200 | } | 199 | } |
201 | 200 | ||
@@ -442,10 +441,8 @@ static void tcindex_destroy(struct tcf_proto *tp) | |||
442 | walker.skip = 0; | 441 | walker.skip = 0; |
443 | walker.fn = &tcindex_destroy_element; | 442 | walker.fn = &tcindex_destroy_element; |
444 | tcindex_walk(tp,&walker); | 443 | tcindex_walk(tp,&walker); |
445 | if (p->perfect) | 444 | kfree(p->perfect); |
446 | kfree(p->perfect); | 445 | kfree(p->h); |
447 | if (p->h) | ||
448 | kfree(p->h); | ||
449 | kfree(p); | 446 | kfree(p); |
450 | tp->root = NULL; | 447 | tp->root = NULL; |
451 | } | 448 | } |