|
@@ -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)
|