skb_clone_writable(9)
π skb_clone_writable β Kernel API Manual β¨
okay so bestie, we're looking at skb_clone_writable from the Kernel API Manual (that's the manual name, iykyk) β the vibe check for "is the header of a clone writable?" π¦
πΈ NAME πΈ
skb_clone_writable β is the header of a clone writable β¨
π SYNOPSIS π
int skb_clone_writable (const struct sk_buff *skb , unsigned int len );
π ARGUMENTS π
skbβ the buffer to check π (literally the thing we're asking about)lenβ length up to which to write βοΈ (how far you're planning to scribble)
π₯ DESCRIPTION π₯
Returns true if modifying the header part of the cloned buffer does not require the data to be copied π
No cap β that's the whole flex. It's giving "can I touch the header without a full data copy?" energy π
π SEE ALSO π
- Kernel file
./include/linux/skbuff.hskb checksums(9) - skb_frag_size(9)
- skb_frag_size_set(9)
- skb_frag_size_add(9)
- skb_frag_size_sub(9)
- skb_frag_must_loop(9)
- skb_frag_foreach_page(9)
- struct skb_shared_hwtstamps(9)
- dataref and headerless skbs(9)
- Basic sk_buff geometry(9)
- struct sk_buff(9)
- skb_pfmemalloc(9)
- skb_dst(9)
- skb_dstref_steal(9)
- skb_dstref_restore(9)
- skb_dst_set(9)
- skb_dst_set_noref(9)
- skb_dst_is_noref(9)
- skb_napi_id(9)
- skb_unref(9)
- kfree_skb(9)
- alloc_skb(9)
- skb_fclone_busy(9)
- alloc_skb_fclone(9)
- skb_pad(9)
- skb_queue_empty(9)
- skb_queue_empty_lockless(9)
- skb_queue_is_last(9)
- skb_queue_is_first(9)
- skb_queue_next(9)
- skb_queue_prev(9)
- skb_get(9)
- skb_cloned(9)
- skb_header_cloned(9)
__skb_header_release(9)- skb_shared(9)
- skb_share_check(9)
- skb_unshare(9)
- skb_peek(9)
__skb_peek(9)- skb_peek_next(9)
- skb_peek_tail(9)
- skb_queue_len(9)
- skb_queue_len_lockless(9)
__skb_queue_head_init(9)- skb_queue_splice(9)
- skb_queue_splice_init(9)
- skb_queue_splice_tail(9)
- skb_queue_splice_tail_init(9)
__skb_queue_after(9)__skb_queue_head(9)__skb_queue_tail(9)__skb_dequeue(9)__skb_dequeue_tail(9)- skb_len_add(9)
__skb_fill_netmem_desc(9)- skb_fill_page_desc(9)
- skb_fill_page_desc_noacc(9)
- skb_headroom(9)
- skb_tailroom(9)
- skb_availroom(9)
- skb_reserve(9)
- skb_tailroom_reserve(9)
- skb_reset_transport_header_careful(9)
- skb_set_transport_header_careful(9)
- pskb_trim_unique(9)
- skb_orphan(9)
- skb_orphan_frags(9)
__skb_queue_purge_reason(9)- netdev_alloc_frag(9)
- netdev_alloc_skb(9)
__dev_alloc_pages(9)__dev_alloc_page(9)- dev_page_is_reusable(9)
- skb_propagate_pfmemalloc(9)
- skb_frag_off(9)
- skb_frag_off_add(9)
- skb_frag_off_set(9)
- skb_frag_off_copy(9)
- skb_frag_net_iov(9)
- skb_frag_page(9)
- skb_frag_netmem(9)
- skb_frag_address(9)
- skb_frag_address_safe(9)
- skb_frag_phys(9)
- skb_frag_page_copy(9)
__skb_frag_dma_map(9)- skb_cow(9)
- skb_cow_head(9)
- skb_padto(9)
__skb_put_padto(9)- skb_put_padto(9)
- skb_linearize(9)
- skb_has_shared_frag(9)
- skb_linearize_cow(9)
- skb_postpull_rcsum(9)
- skb_postpush_rcsum(9)
- skb_push_rcsum(9)
- pskb_trim_rcsum(9)
- skb_needs_linearize(9)
- skb_get_timestamp(9)
- skb_data_move(9)
- skb_postpull_data_move(9)
- skb_postpush_data_move(9)
- skb_complete_tx_timestamp(9)
- skb_tstamp_tx(9)
- skb_tx_timestamp(9)
- skb_complete_wifi_ack(9)
- skb_checksum_complete(9)
- struct skb_ext(9)
- skb_checksum_none_assert(9)
- skb_head_is_locked(9)
π lowkey the longest SEE ALSO ever, but we read every single one, periodt. go stan them all π«Ά
okay that's the whole page, bestie β it lived in ./include/linux, dated October 2026, and that's the sign-off ππ slay β¨
π¦ 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