summaryrefslogtreecommitdiffstats
path: root/net/core/kmap_skb.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2006-10-19 16:08:53 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2006-12-04 02:00:29 -0500
commita1f8e7f7fb9d7e2cbcb53170edca7c0ac4680697 (patch)
tree2d1190c0099291d56a9c986f16bec17df2f6768b /net/core/kmap_skb.h
parentb07e4ecd4d380ad697c54d729cb653d027077c99 (diff)
downloadlinux-a1f8e7f7fb9d7e2cbcb53170edca7c0ac4680697.tar.gz
linux-a1f8e7f7fb9d7e2cbcb53170edca7c0ac4680697.tar.bz2
linux-a1f8e7f7fb9d7e2cbcb53170edca7c0ac4680697.zip
[PATCH] severing skbuff.h -> highmem.h
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'net/core/kmap_skb.h')
-rw-r--r--net/core/kmap_skb.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/net/core/kmap_skb.h b/net/core/kmap_skb.h
new file mode 100644
index 000000000000..283c2b993fb8
--- /dev/null
+++ b/net/core/kmap_skb.h
@@ -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
+}