]> git.baikalelectronics.ru Git - kernel.git/commit
[NET]: Clean up skb_linearize
authorHerbert Xu <herbert@gondor.apana.org.au>
Fri, 9 Jun 2006 23:10:40 +0000 (16:10 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Sun, 18 Jun 2006 04:30:16 +0000 (21:30 -0700)
commit1a174abcad1f89f19fc5ed9ddb4be1854da60017
tree56c8ad3e3f45fafec010da4f5858825db5dbc86c
parentae50bc28015002325a7398dc53a3d0acc677e14c
[NET]: Clean up skb_linearize

The linearisation operation doesn't need to be super-optimised.  So we can
replace __skb_linearize with __pskb_pull_tail which does the same thing but
is more general.

Also, most users of skb_linearize end up testing whether the skb is linear
or not so it helps to make skb_linearize do just that.

Some callers of skb_linearize also use it to copy cloned data, so it's
useful to have a new function skb_linearize_cow to copy the data if it's
either non-linear or cloned.

Last but not least, I've removed the gfp argument since nobody uses it
anymore.  If it's ever needed we can easily add it back.

Misc bugs fixed by this patch:

* via-velocity error handling (also, no SG => no frags)

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/block/aoe/aoenet.c
drivers/net/mv643xx_eth.c
drivers/net/via-velocity.c
include/linux/skbuff.h
net/core/dev.c
net/decnet/dn_nsp_in.c
net/decnet/dn_route.c
net/ipv4/ipcomp.c
net/ipv6/ipcomp6.c