20 lines
360 B
C
20 lines
360 B
C
|
#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
|
||
|
}
|