From: KY Srinivasan Date: Wed, 9 Apr 2014 22:00:45 +0000 (-0700) Subject: Drivers: net: hyperv: Allocate memory for all possible per-pecket information X-Git-Tag: v3.15-rc1~8^2~11^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4276372f0dcb191639fa79a171737f4239ded869;p=platform%2Fkernel%2Flinux-stable.git Drivers: net: hyperv: Allocate memory for all possible per-pecket information An outgoing packet can potentially need per-packet information for all the offloads and VLAN tagging. Fix this issue. Signed-off-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang Signed-off-by: David S. Miller --- diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c index 4e4cf9e..6f39baa 100644 --- a/drivers/net/hyperv/netvsc_drv.c +++ b/drivers/net/hyperv/netvsc_drv.c @@ -319,7 +319,9 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net) packet = kzalloc(sizeof(struct hv_netvsc_packet) + (num_data_pgs * sizeof(struct hv_page_buffer)) + sizeof(struct rndis_message) + - NDIS_VLAN_PPI_SIZE, GFP_ATOMIC); + NDIS_VLAN_PPI_SIZE + + NDIS_CSUM_PPI_SIZE + + NDIS_LSO_PPI_SIZE, GFP_ATOMIC); if (!packet) { /* out of memory, drop packet */ netdev_err(net, "unable to allocate hv_netvsc_packet\n");