linux/include
Herbert Xu 5b057c6b1a [NET]: Avoid allocating skb in skb_pad
First of all it is unnecessary to allocate a new skb in skb_pad since
the existing one is not shared.  More importantly, our hard_start_xmit
interface does not allow a new skb to be allocated since that breaks
requeueing.

This patch uses pskb_expand_head to expand the existing skb and linearize
it if needed.  Actually, someone should sift through every instance of
skb_pad on a non-linear skb as they do not fit the reasons why this was
originally created.

Incidentally, this fixes a minor bug when the skb is cloned (tcpdump,
TCP, etc.).  As it is skb_pad will simply write over a cloned skb.  Because
of the position of the write it is unlikely to cause problems but still
it's best if we don't do it.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-06-23 02:06:41 -07:00
..
acpi
asm-alpha [PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use 2006-06-22 15:05:58 -07:00
asm-arm Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2006-06-22 22:46:28 -07:00
asm-arm26
asm-cris
asm-frv
asm-generic Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
asm-h8300
asm-i386 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-06-22 15:07:59 -07:00
asm-ia64 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-06-22 15:07:59 -07:00
asm-m32r [PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use 2006-06-22 15:05:58 -07:00
asm-m68k
asm-m68knommu
asm-mips [PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use 2006-06-22 15:05:58 -07:00
asm-parisc
asm-powerpc Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
asm-ppc Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
asm-s390 [PATCH] s390: add __raw_writeq required by __iowrite64_copy 2006-06-20 19:55:53 -07:00
asm-sh
asm-sh64
asm-sparc Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2006-06-20 17:39:28 -07:00
asm-sparc64 [PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use 2006-06-22 15:05:58 -07:00
asm-um Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
asm-v850
asm-x86_64 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-06-22 15:07:59 -07:00
asm-xtensa [PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use 2006-06-22 15:05:58 -07:00
keys
linux [NET]: Avoid allocating skb in skb_pad 2006-06-23 02:06:41 -07:00
math-emu
media
mtd Merge git://git.infradead.org/hdrcleanup-2.6 2006-06-20 15:10:08 -07:00
net Merge branch 'master' into upstream 2006-06-22 22:51:46 -04:00
pcmcia
rdma IB/uverbs: Don't serialize with ib_uverbs_idr_mutex 2006-06-17 20:44:49 -07:00
rxrpc
scsi Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2006-06-21 11:18:25 -07:00
sound [ALSA] version 1.0.12rc1 2006-06-22 21:35:11 +02:00
video