Lines Matching defs:ext
6232 static void *skb_ext_get_ptr(struct skb_ext *ext, enum skb_ext_id id)
6234 return (void *)ext + (ext->offset[id] * SKB_EXT_ALIGN_VALUE);
6290 * @ext: extension storage previously allocated via __skb_ext_alloc()
6297 struct skb_ext *ext)
6299 unsigned int newlen, newoff = SKB_EXT_CHUNKSIZEOF(*ext);
6303 ext->chunks = newlen;
6304 ext->offset[id] = newoff;
6305 skb->extensions = ext;
6307 return skb_ext_get_ptr(ext, id);
6370 struct skb_ext *ext = skb->extensions;
6375 __skb_ext_put(ext);
6378 refcount_read(&ext->refcnt) == 1) {
6379 struct sec_path *sp = skb_ext_get_ptr(ext, SKB_EXT_SEC_PATH);
6388 void __skb_ext_put(struct skb_ext *ext)
6393 if (refcount_read(&ext->refcnt) == 1)
6396 if (!refcount_dec_and_test(&ext->refcnt))
6400 if (__skb_ext_exist(ext, SKB_EXT_SEC_PATH))
6401 skb_ext_put_sp(skb_ext_get_ptr(ext, SKB_EXT_SEC_PATH));
6404 kmem_cache_free(skbuff_ext_cache, ext);