]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/ipv6/netfilter/ip6_queue.c
netfilter: {nfnetlink,ip,ip6}_queue: fix skb_over_panic when enlarging packets
[net-next-2.6.git] / net / ipv6 / netfilter / ip6_queue.c
index 92a36c9e540281a6f865d489dc2747fa20620008..2eff3ae8977dd3a0fd8b7c0d3858ac076cb27b28 100644 (file)
@@ -298,9 +298,8 @@ ipq_mangle_ipv6(ipq_verdict_msg_t *v, struct nf_queue_entry *e)
                if (v->data_len > 0xFFFF)
                        return -EINVAL;
                if (diff > skb_tailroom(e->skb)) {
-                       nskb = skb_copy_expand(e->skb, 0,
-                                              diff - skb_tailroom(e->skb),
-                                              GFP_ATOMIC);
+                       nskb = skb_copy_expand(e->skb, skb_headroom(e->skb),
+                                              diff, GFP_ATOMIC);
                        if (!nskb) {
                                printk(KERN_WARNING "ip6_queue: OOM "
                                      "in mangle, dropping packet\n");