skb_queue_purge_reason(9)
πΈ skb_queue_purge_reason(9) β the Kernel API Manual, bestie edition πΈ
okay so this one lives in the Kernel API Manual, section 9, and the function is literally called skb_queue_purge_reason π
yes the name is a lot. it's fine. she's iconic.
β¨ NAME β¨
skb_queue_purge_reason β empty a list ποΈβ¨
π SYNOPSIS π
void skb_queue_purge_reason (struct sk_buff_head *list , enum
skb_drop_reason reason );
that's it. that's the whole signature. no cap. π«Ά
π ARGUMENTS π
listβ the list you wanna empty, bestie. that's the vibe. πΈreasonβ the drop reason π like, why are we dropping these. you gotta say.
π¦ DESCRIPTION π¦
okay so picture this: you've got an sk_buff list and it's FULL. and you're like "not me having all these buffers". so you call this. it deletes all the buffers on an sk_buff list π§Ήβ¨
the way it works: each buffer is removed from the list, and one reference is dropped for each one. one per buffer. that's the deal. π
and here's the part that lowkey matters β this function takes the list lock, which means it's atomic with respect to other list locking functions π like, nobody else can sneak in and mess with the list while she's doing her thing. main character energy fr fr. π
no cap, that locking detail is the whole point, don't skip it π«Ά
π SEE ALSO π
okay this list is LONG long, but it's giving "she knows everyone at the party", so here we go π all of these are in the kernel file ./net/core/skbuff.c:
drop_reasons_register_subsys(9),drop_reasons_unregister_subsys(9),skb_panic(9),napi_skb_cache_get_bulk(9)__build_skb(9),build_skb_around(9),__napi_build_skb(9),napi_build_skb(9)__alloc_skb(9),__netdev_alloc_skb(9),napi_alloc_skb(9),skb_pp_cow_data(9)skb_pp_frag_ref(9),__kfree_skb(9),sk_skb_reason_drop(9),skb_tx_error(9)consume_skb(9),__consume_stateless_skb(9),napi_consume_skb(9),alloc_skb_for_msg(9)skb_morph(9),skb_copy_ubufs(9),skb_clone(9),skb_copy(9)__pskb_copy_fclone(9),pskb_expand_head(9),skb_expand_head(9),skb_copy_expand(9)__skb_pad(9),pskb_put(9),skb_put(9),skb_push(9)skb_pull(9),skb_pull_data(9),skb_trim(9),__pskb_pull_tail(9)skb_copy_bits(9),skb_store_bits(9),skb_zerocopy(9),skb_dequeue(9)skb_dequeue_tail(9),skb_rbtree_purge(9),skb_queue_head(9),skb_queue_tail(9)skb_unlink(9),skb_append(9),skb_split(9),skb_shift(9)skb_prepare_seq_read(9),skb_seq_read(9),skb_abort_seq_read(9),skb_copy_seq_read(9)skb_find_text(9),skb_pull_rcsum(9),skb_segment(9),skb_to_sgvec(9)skb_cow_data(9),skb_clone_sk(9),skb_partial_csum_set(9),skb_checksum_setup(9)skb_checksum_maybe_trim(9),skb_checksum_trimmed(9),skb_try_coalesce(9),skb_scrub_packet(9)skb_eth_pop(9),skb_eth_push(9),skb_mpls_push(9),skb_mpls_pop(9)skb_mpls_update_lse(9),skb_mpls_dec_ttl(9),alloc_skb_with_frags(9),skb_condense(9)__skb_ext_alloc(9),__skb_ext_set(9),skb_ext_add(9),skb_attempt_defer_free(9)skb_splice_from_iter(9)
like I said. everyone. π«Άβ¨
and that's the page!! π this one came from ./net/core and it's dated October 2026 β so yeah, mark your calendar bestie, she's a fall girlie ππ
mwah, go empty that list π β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms