summaryrefslogblamecommitdiff
path: root/net/core/kmap_skb.h
blob: 81e1ed7c838396e9e18a772447304284dbe81d5a (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                         
                                                                     








                                                  
#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(skb_frag_page(frag), 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
}