This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / net / core / kmap_skb.h
diff --git a/net/core/kmap_skb.h b/net/core/kmap_skb.h
new file mode 100644 (file)
index 0000000..283c2b9
--- /dev/null
@@ -0,0 +1,19 @@
+#include <linux/highmem.h>
+
+static inline void *kmap_skb_frag(const skb_frag_t *frag)
+{
+#ifdef CONFIG_HIGHMEM
+       BUG_ON(in_irq());
+
+       local_bh_disable();
+#endif
+       return kmap_atomic(frag->page, KM_SKB_DATA_SOFTIRQ);
+}
+
+static inline void kunmap_skb_frag(void *vaddr)
+{
+       kunmap_atomic(vaddr, KM_SKB_DATA_SOFTIRQ);
+#ifdef CONFIG_HIGHMEM
+       local_bh_enable();
+#endif
+}