diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-09 22:12:54 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-09 22:12:54 -0400 |
| commit | aac2b1f5747ea34696d0da5bdc4d8247aa6437af (patch) | |
| tree | 8fc8499aad6a28b044c9bdab3f920f64a98460c1 /include/linux/skbuff.h | |
| parent | 23d5385f382a7c7d8b6bf19b0c2cfb3acbb12d31 (diff) | |
| parent | 5175a5e76bbdf20a614fb47ce7a38f0f39e70226 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking updates from David Miller:
1) UAPI changes for networking from David Howells
2) A netlink dump is an operation we can sleep within, and therefore we
need to make sure the dump provider module doesn't disappear on us
meanwhile. Fix from Gao Feng.
3) Now that tunnels support GRO, we have to be more careful in
skb_gro_reset_offset() otherwise we OOPS, from Eric Dumazet.
4) We can end up processing packets for VLANs we aren't actually
configured to be on, fix from Florian Zumbiehl.
5) Fix routing cache removal regression in redirects and IPVS. The
core issue on the IPVS side is that it wants to rewrite who the
nexthop is and we have to explicitly accomodate that case. From
Julian Anastasov.
6) Error code return fixes all over the networking drivers from Peter
Senna Tschudin.
7) Fix routing cache removal regressions in IPSEC, from Steffen
Klassert.
8) Fix deadlock in RDS during pings, from Jeff Liu.
9) Neighbour packet queue can trigger skb_under_panic() because we do
not reset the network header of the SKB in the right spot. From
Ramesh Nagappa.
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (61 commits)
RDS: fix rds-ping spinlock recursion
netdev/phy: Prototype of_mdio_find_bus()
farsync: fix support for over 30 cards
be2net: Remove code that stops further access to BE NIC based on UE bits
pch_gbe: Fix build error by selecting all the possible dependencies.
e1000e: add device IDs for i218
ixgbe/ixgbevf: Limit maximum jumbo frame size to 9.5K to avoid Tx hangs
ixgbevf: Set the netdev number of Tx queues
UAPI: (Scripted) Disintegrate include/linux/tc_ematch
UAPI: (Scripted) Disintegrate include/linux/tc_act
UAPI: (Scripted) Disintegrate include/linux/netfilter_ipv6
UAPI: (Scripted) Disintegrate include/linux/netfilter_ipv4
UAPI: (Scripted) Disintegrate include/linux/netfilter_bridge
UAPI: (Scripted) Disintegrate include/linux/netfilter_arp
UAPI: (Scripted) Disintegrate include/linux/netfilter/ipset
UAPI: (Scripted) Disintegrate include/linux/netfilter
UAPI: (Scripted) Disintegrate include/linux/isdn
UAPI: (Scripted) Disintegrate include/linux/caif
net: fix typo in freescale/ucc_geth.c
vxlan: fix more sparse warnings
...
Diffstat (limited to 'include/linux/skbuff.h')
| -rw-r--r-- | include/linux/skbuff.h | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index b33a3a1f205e..6a2c34e6d962 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
| @@ -589,9 +589,6 @@ static inline struct sk_buff *alloc_skb_fclone(unsigned int size, | |||
| 589 | return __alloc_skb(size, priority, SKB_ALLOC_FCLONE, NUMA_NO_NODE); | 589 | return __alloc_skb(size, priority, SKB_ALLOC_FCLONE, NUMA_NO_NODE); |
| 590 | } | 590 | } |
| 591 | 591 | ||
| 592 | extern void skb_recycle(struct sk_buff *skb); | ||
| 593 | extern bool skb_recycle_check(struct sk_buff *skb, int skb_size); | ||
| 594 | |||
| 595 | extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); | 592 | extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); |
| 596 | extern int skb_copy_ubufs(struct sk_buff *skb, gfp_t gfp_mask); | 593 | extern int skb_copy_ubufs(struct sk_buff *skb, gfp_t gfp_mask); |
| 597 | extern struct sk_buff *skb_clone(struct sk_buff *skb, | 594 | extern struct sk_buff *skb_clone(struct sk_buff *skb, |
| @@ -2645,27 +2642,6 @@ static inline void skb_checksum_none_assert(const struct sk_buff *skb) | |||
| 2645 | 2642 | ||
| 2646 | bool skb_partial_csum_set(struct sk_buff *skb, u16 start, u16 off); | 2643 | bool skb_partial_csum_set(struct sk_buff *skb, u16 start, u16 off); |
| 2647 | 2644 | ||
| 2648 | static inline bool skb_is_recycleable(const struct sk_buff *skb, int skb_size) | ||
| 2649 | { | ||
| 2650 | if (irqs_disabled()) | ||
| 2651 | return false; | ||
| 2652 | |||
| 2653 | if (skb_shinfo(skb)->tx_flags & SKBTX_DEV_ZEROCOPY) | ||
| 2654 | return false; | ||
| 2655 | |||
| 2656 | if (skb_is_nonlinear(skb) || skb->fclone != SKB_FCLONE_UNAVAILABLE) | ||
| 2657 | return false; | ||
| 2658 | |||
| 2659 | skb_size = SKB_DATA_ALIGN(skb_size + NET_SKB_PAD); | ||
| 2660 | if (skb_end_offset(skb) < skb_size) | ||
| 2661 | return false; | ||
| 2662 | |||
| 2663 | if (skb_shared(skb) || skb_cloned(skb)) | ||
| 2664 | return false; | ||
| 2665 | |||
| 2666 | return true; | ||
| 2667 | } | ||
| 2668 | |||
| 2669 | /** | 2645 | /** |
| 2670 | * skb_head_is_locked - Determine if the skb->head is locked down | 2646 | * skb_head_is_locked - Determine if the skb->head is locked down |
| 2671 | * @skb: skb to check | 2647 | * @skb: skb to check |
