From: Jason Wang Date: Wed, 13 Nov 2013 06:00:40 +0000 (+0800) Subject: macvtap: limit head length of skb allocated X-Git-Tag: v3.2.69~26 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=75f9b4534aa31e33e96ae36dd96a62907470da91;p=pandora-kernel.git macvtap: limit head length of skb allocated commit 16a3fa28630331e28208872fa5341ce210b901c7 upstream. We currently use hdr_len as a hint of head length which is advertised by guest. But when guest advertise a very big value, it can lead to an 64K+ allocating of kmalloc() which has a very high possibility of failure when host memory is fragmented or under heavy stress. The huge hdr_len also reduce the effect of zerocopy or even disable if a gso skb is linearized in guest. To solves those issues, this patch introduces an upper limit (PAGE_SIZE) of the head, which guarantees an order 0 allocation each time. Cc: Stefan Hajnoczi Cc: Michael S. Tsirkin Signed-off-by: Jason Wang Signed-off-by: David S. Miller Signed-off-by: Ben Hutchings --- Reading git-diff-tree failed