aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/skbuff.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-11-10 09:16:27 +0100
committerIngo Molnar <mingo@elte.hu>2008-11-10 09:16:27 +0100
commit4ecd33d930591d41fe356160593a9076467b961c (patch)
treeb9051a334540bbce38db1b2b03cebb4cf1d51f73 /net/core/skbuff.c
parentx86, NMI watchdog: disable NMIs on LVT0 in case NMI watchdog is not working (diff)
parentLinux 2.6.28-rc4 (diff)
downloadlinux-dev-4ecd33d930591d41fe356160593a9076467b961c.tar.xz
linux-dev-4ecd33d930591d41fe356160593a9076467b961c.zip
Merge commit 'v2.6.28-rc4' into x86/apic
Diffstat (limited to 'net/core/skbuff.c')
-rw-r--r--net/core/skbuff.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 4e22e3a35359..ebb6b94f8af2 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -449,6 +449,18 @@ void kfree_skb(struct sk_buff *skb)
__kfree_skb(skb);
}
+/**
+ * skb_recycle_check - check if skb can be reused for receive
+ * @skb: buffer
+ * @skb_size: minimum receive buffer size
+ *
+ * Checks that the skb passed in is not shared or cloned, and
+ * that it is linear and its head portion at least as large as
+ * skb_size so that it can be recycled as a receive buffer.
+ * If these conditions are met, this function does any necessary
+ * reference count dropping and cleans up the skbuff as if it
+ * just came from __alloc_skb().
+ */
int skb_recycle_check(struct sk_buff *skb, int skb_size)
{
struct skb_shared_info *shinfo;