diff options
| -rw-r--r-- | net/ipv4/ipcomp.c | 3 | ||||
| -rw-r--r-- | net/ipv6/ipcomp6.c | 3 | 
2 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv4/ipcomp.c b/net/ipv4/ipcomp.c index 8e0374847532..8a8b5cf2f7fe 100644 --- a/net/ipv4/ipcomp.c +++ b/net/ipv4/ipcomp.c  | |||
| @@ -70,7 +70,8 @@ static int ipcomp_decompress(struct xfrm_state *x, struct sk_buff *skb) | |||
| 70 | if (err) | 70 | if (err) | 
| 71 | goto out; | 71 | goto out; | 
| 72 | 72 | ||
| 73 | skb_put(skb, dlen - plen); | 73 | skb->truesize += dlen - plen; | 
| 74 | __skb_put(skb, dlen - plen); | ||
| 74 | memcpy(skb->data, scratch, dlen); | 75 | memcpy(skb->data, scratch, dlen); | 
| 75 | out: | 76 | out: | 
| 76 | put_cpu(); | 77 | put_cpu(); | 
diff --git a/net/ipv6/ipcomp6.c b/net/ipv6/ipcomp6.c index b285b0357084..7e4d1c17bfbc 100644 --- a/net/ipv6/ipcomp6.c +++ b/net/ipv6/ipcomp6.c  | |||
| @@ -109,7 +109,8 @@ static int ipcomp6_input(struct xfrm_state *x, struct sk_buff *skb) | |||
| 109 | goto out_put_cpu; | 109 | goto out_put_cpu; | 
| 110 | } | 110 | } | 
| 111 | 111 | ||
| 112 | skb_put(skb, dlen - plen); | 112 | skb->truesize += dlen - plen; | 
| 113 | __skb_put(skb, dlen - plen); | ||
| 113 | memcpy(skb->data, scratch, dlen); | 114 | memcpy(skb->data, scratch, dlen); | 
| 114 | err = ipch->nexthdr; | 115 | err = ipch->nexthdr; | 
| 115 | 116 | ||
