sched: check negative err value to safe one level of indent
authorJiri Pirko <jiri@mellanox.com>
Thu, 9 Feb 2017 13:39:00 +0000 (14:39 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Feb 2017 16:38:09 +0000 (11:38 -0500)
As it is more common, check err for !0. That allows to safe one level of
indentation and makes the code easier to read. Also, make 'next' variable
global in function as it is used twice.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_api.c

index 48864ad2322da19a0b85489d216e3b35b1fc3465..abe1fe13ae5405c2402f083156c5b7345acc5ac8 100644 (file)
@@ -214,6 +214,7 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n)
        struct Qdisc  *q;
        struct tcf_proto __rcu **back;
        struct tcf_proto __rcu **chain;
+       struct tcf_proto *next;
        struct tcf_proto *tp;
        const struct Qdisc_class_ops *cops;
        unsigned long cl;
@@ -355,10 +356,8 @@ replay:
 
        if (fh == 0) {
                if (n->nlmsg_type == RTM_DELTFILTER && t->tcm_handle == 0) {
-                       struct tcf_proto *next = rtnl_dereference(tp->next);
-
+                       next = rtnl_dereference(tp->next);
                        RCU_INIT_POINTER(*back, next);
-
                        tfilter_notify(net, skb, n, tp, fh,
                                       RTM_DELTFILTER, false);
                        tcf_proto_destroy(tp, true);
@@ -383,16 +382,13 @@ replay:
                        break;
                case RTM_DELTFILTER:
                        err = tp->ops->delete(tp, fh);
-                       if (err == 0) {
-                               struct tcf_proto *next = rtnl_dereference(tp->next);
-
-                               tfilter_notify(net, skb, n, tp,
-                                              t->tcm_handle,
-                                              RTM_DELTFILTER, false);
-                               if (tcf_proto_destroy(tp, false))
-                                       RCU_INIT_POINTER(*back, next);
-                       }
-                       goto errout;
+                       if (err)
+                               goto errout;
+                       next = rtnl_dereference(tp->next);
+                       tfilter_notify(net, skb, n, tp, t->tcm_handle,
+                                      RTM_DELTFILTER, false);
+                       if (tcf_proto_destroy(tp, false))
+                               RCU_INIT_POINTER(*back, next);
                case RTM_GETTFILTER:
                        err = tfilter_notify(net, skb, n, tp, fh,
                                             RTM_NEWTFILTER, true);