diff options
author | Patrick McHardy <kaber@trash.net> | 2005-01-09 21:40:47 -0800 |
---|---|---|
committer | David S. Miller <davem@nuts.davemloft.net> | 2005-01-09 21:40:47 -0800 |
commit | 785ce914d8cc256118fdd4d1f7798eb686645ed4 (patch) | |
tree | bb8d652f740f7b33680d3976d7a6df32110da6d9 /net | |
parent | 76d2d42cefd1889689c4d538f26f8fad7c6118f6 (diff) | |
download | history-785ce914d8cc256118fdd4d1f7798eb686645ed4.tar.gz |
[PKT_SCHED]: act_api.c: remove checks for impossible conditions
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/sched/act_api.c | 49 |
1 files changed, 15 insertions, 34 deletions
diff --git a/net/sched/act_api.c b/net/sched/act_api.c index 75b526f2843bcb..97420faf51154a 100644 --- a/net/sched/act_api.c +++ b/net/sched/act_api.c @@ -191,26 +191,18 @@ void tcf_action_destroy(struct tc_action *act, int bind) { struct tc_action *a; - for (a = act; act; a = act) { - if (a && a->ops && a->ops->cleanup) { + for (a = act; a; a = act) { + if (a->ops && a->ops->cleanup) { DPRINTK("tcf_action_destroy destroying %p next %p\n", - a, a->next ? a->next : NULL); - act = act->next; + a, a->next); if (a->ops->cleanup(a, bind) == ACT_P_DELETED) module_put(a->ops->owner); - - a->ops = NULL; + act = act->next; kfree(a); } else { /*FIXME: Remove later - catch insertion bugs*/ printk("tcf_action_destroy: BUG? destroying NULL ops\n"); - if (a) { - act = act->next; - kfree(a); - } else { - printk("tcf_action_destroy: BUG? destroying " - "NULL action!\n"); - break; - } + act = act->next; + kfree(a); } } } @@ -220,7 +212,7 @@ tcf_action_dump_old(struct sk_buff *skb, struct tc_action *a, int bind, int ref) { int err = -EINVAL; - if ((a == NULL) || (a->ops == NULL) || (a->ops->dump == NULL)) + if (a->ops == NULL || a->ops->dump == NULL) return err; return a->ops->dump(skb, a, bind, ref); } @@ -232,8 +224,7 @@ tcf_action_dump_1(struct sk_buff *skb, struct tc_action *a, int bind, int ref) unsigned char *b = skb->tail; struct rtattr *r; - if ((a == NULL) || (a->ops == NULL) || (a->ops->dump == NULL) || - (a->ops->kind == NULL)) + if (a->ops == NULL || a->ops->dump == NULL) return err; RTA_PUT(skb, TCA_KIND, IFNAMSIZ, a->ops->kind); @@ -563,14 +554,9 @@ static void cleanup_a(struct tc_action *act) { struct tc_action *a; - for (a = act; act; a = act) { - if (a) { - act = act->next; - a->ops = NULL; - a->priv = NULL; - kfree(a); - } else - printk("cleanup_a: BUG? empty action\n"); + for (a = act; a; a = act) { + act = a->next; + kfree(a); } } @@ -715,7 +701,7 @@ tca_action_gd(struct rtattr *rta, struct nlmsghdr *n, u32 pid, int event) if (tb[i] == NULL) break; act = create_a(i+1); - if (a != NULL && a != act) { + if (a != NULL) { a->next = act; a = act; } else @@ -826,14 +812,9 @@ tcf_action_add(struct rtattr *rta, struct nlmsghdr *n, u32 pid, int ovr) * stays intact * */ ret = tcf_add_notify(act, pid, seq, RTM_NEWACTION, n->nlmsg_flags); - for (a = act; act; a = act) { - if (a) { - act = act->next; - a->ops = NULL; - a->priv = NULL; - kfree(a); - } else - printk("tcf_action_add: BUG? empty action\n"); + for (a = act; a; a = act) { + act = a->next; + kfree(a); } done: return ret; |