netfilter: nfnetlink: remove redundant variable nskb
authorDuan Jiong <duanj.fnst@cn.fujitsu.com>
Wed, 10 Dec 2014 09:21:59 +0000 (17:21 +0800)
committerPablo Neira Ayuso <pablo@soleta.eu>
Mon, 5 Jan 2015 11:10:49 +0000 (12:10 +0100)
Actually after netlink_skb_clone() is called, the nskb and
skb will point to the same thing, but they are used just like
they are different, sometimes this is confusing, so i think
there is no necessary to keep nskb anymore.

Signed-off-by: Duan Jiong <duanj.fnst@cn.fujitsu.com>
Signed-off-by: Pablo Neira Ayuso <pablo@soleta.eu>
net/netfilter/nfnetlink.c

index 13c2e17bbe279e6660a0a04fc804a6e1dd0a7707..a7a7e8299d5acc65974ae6768ea3cc6eca513467 100644 (file)
@@ -272,7 +272,7 @@ static void nfnl_err_deliver(struct list_head *err_list, struct sk_buff *skb)
 static void nfnetlink_rcv_batch(struct sk_buff *skb, struct nlmsghdr *nlh,
                                u_int16_t subsys_id)
 {
-       struct sk_buff *nskb, *oskb = skb;
+       struct sk_buff *oskb = skb;
        struct net *net = sock_net(skb->sk);
        const struct nfnetlink_subsystem *ss;
        const struct nfnl_callback *nc;
@@ -283,12 +283,11 @@ static void nfnetlink_rcv_batch(struct sk_buff *skb, struct nlmsghdr *nlh,
        if (subsys_id >= NFNL_SUBSYS_COUNT)
                return netlink_ack(skb, nlh, -EINVAL);
 replay:
-       nskb = netlink_skb_clone(oskb, GFP_KERNEL);
-       if (!nskb)
+       skb = netlink_skb_clone(oskb, GFP_KERNEL);
+       if (!skb)
                return netlink_ack(oskb, nlh, -ENOMEM);
 
-       nskb->sk = oskb->sk;
-       skb = nskb;
+       skb->sk = oskb->sk;
 
        nfnl_lock(subsys_id);
        ss = rcu_dereference_protected(table[subsys_id].subsys,
@@ -305,7 +304,7 @@ replay:
                {
                        nfnl_unlock(subsys_id);
                        netlink_ack(skb, nlh, -EOPNOTSUPP);
-                       return kfree_skb(nskb);
+                       return kfree_skb(skb);
                }
        }
 
@@ -385,7 +384,7 @@ replay:
                                nfnl_err_reset(&err_list);
                                ss->abort(oskb);
                                nfnl_unlock(subsys_id);
-                               kfree_skb(nskb);
+                               kfree_skb(skb);
                                goto replay;
                        }
                }
@@ -426,7 +425,7 @@ done:
 
        nfnl_err_deliver(&err_list, oskb);
        nfnl_unlock(subsys_id);
-       kfree_skb(nskb);
+       kfree_skb(skb);
 }
 
 static void nfnetlink_rcv(struct sk_buff *skb)