diff --git a/[refs] b/[refs] index fa91673ec07b..ab6970281ebf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 996304bbea3d2a094b7ba54c3bd65d3fffeac57b +refs/heads/master: 87151b8689d890dfb495081f7be9b9e257f7a2df diff --git a/trunk/net/core/skbuff.c b/trunk/net/core/skbuff.c index baf8d281152c..e59840010d45 100644 --- a/trunk/net/core/skbuff.c +++ b/trunk/net/core/skbuff.c @@ -952,9 +952,11 @@ int pskb_expand_head(struct sk_buff *skb, int nhead, int ntail, goto adjust_others; } - data = kmalloc(size + sizeof(struct skb_shared_info), gfp_mask); + data = kmalloc(size + SKB_DATA_ALIGN(sizeof(struct skb_shared_info)), + gfp_mask); if (!data) goto nodata; + size = SKB_WITH_OVERHEAD(ksize(data)); /* Copy only real data... and, alas, header. This should be * optimized for the cases when header is void.