aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2012-11-01 05:16:28 -0400
committerDavid S. Miller <davem@davemloft.net>2012-11-02 21:29:57 -0400
commit25121173f7b1e4ac3fc692df6e7b8c52ec36abba (patch)
tree5d52c2fe88397dae0ee799c194d46bf641b0a902 /include/linux
parente19d6763cc300fcb706bd291b24ac06be71e1ce6 (diff)
skb: api to report errors for zero copy skbs
Orphaning frags for zero copy skbs needs to allocate data in atomic context so is has a chance to fail. If it does we currently discard the skb which is safe, but we don't report anything to the caller, so it can not recover by e.g. disabling zero copy. Add an API to free skb reporting such errors: this is used by tun in case orphaning frags fails. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/skbuff.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index e5eae5bc1d4d..f2af494330ab 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -568,6 +568,7 @@ static inline struct rtable *skb_rtable(const struct sk_buff *skb)
568} 568}
569 569
570extern void kfree_skb(struct sk_buff *skb); 570extern void kfree_skb(struct sk_buff *skb);
571extern void skb_tx_error(struct sk_buff *skb);
571extern void consume_skb(struct sk_buff *skb); 572extern void consume_skb(struct sk_buff *skb);
572extern void __kfree_skb(struct sk_buff *skb); 573extern void __kfree_skb(struct sk_buff *skb);
573extern struct kmem_cache *skbuff_head_cache; 574extern struct kmem_cache *skbuff_head_cache;