xa_tag_pointer(9)
π xa_tag_pointer β Kernel API Manual β¨
okay so bestie, welcome to xa_tag_pointer(9) from the Kernel API Manual. this one's short and sweet and honestly kind of iconic? we're making a tagged-pointer XArray entry. that's it. that's the whole vibe. π
πΈ NAME πΈ
xa_tag_pointer β Create an XArray entry for a tagged pointer. literally its whole job, no cap.
β¨ SYNOPSIS β¨
void * xa_tag_pointer (void *p , unsigned long tag );
π¦ ARGUMENTS π¦
pβ Plain pointer. just a regular pointer, living its plain little life, about to get a glow-up.tagβ Tag value (0,1or3). yes those are the only three, don't come at me with a2π
π DESCRIPTION π
okay so here's the tea π₯ β if you're using the XArray and you'd rather not store value entries, you're totally allowed to tag your pointers instead. main character energy, honestly.
Three tags are available: 0, 1 and 3. the way that 2 is just not invited to the party π
these tags are distinct from the xa_mark_t β because they are not replicated up through the array, and they cannot be searched for. like, they're just not doing all that. periodt. π«Ά
π CONTEXT π
Any context. literally any. she's flexible like that. π
β RETURN β
An XArray entry. that's the whole thing. slay. β¨
π SEE ALSO π
Kernel file ./include/linux/xarray.h
the full bestie roll call, and yes every single one of them made the list:
xa_mk_value(9)xa_to_value(9)xa_is_value(9)xa_untag_pointer(9)xa_pointer_tag(9)xa_is_zero(9)xa_is_err(9)xa_err(9)struct xa_limit(9)struct xarray(9)DEFINE_XARRAY_FLAGS(9)DEFINE_XARRAY(9)DEFINE_XARRAY_ALLOC(9)DEFINE_XARRAY_ALLOC1(9)xa_init_flags(9)xa_init(9)xa_empty(9)xa_marked(9)xa_for_each_range(9)xa_for_each_start(9)xa_for_each(9)xa_for_each_marked(9)xa_store_bh(9)xa_store_irq(9)xa_erase_bh(9)xa_erase_irq(9)xa_cmpxchg(9)xa_cmpxchg_bh(9)xa_cmpxchg_irq(9)xa_insert(9)xa_insert_bh(9)xa_insert_irq(9)xa_alloc(9)xa_alloc_bh(9)xa_alloc_irq(9)xa_alloc_cyclic(9)xa_alloc_cyclic_bh(9)xa_alloc_cyclic_irq(9)xa_reserve(9)xa_reserve_bh(9)xa_reserve_irq(9)xa_release(9)xa_is_sibling(9)xa_is_retry(9)xa_is_advanced(9)xa_update_node_t(9)XA_STATE(9)XA_STATE_ORDER(9)xas_error(9)xas_set_err(9)xas_invalid(9)xas_valid(9)xas_is_node(9)xas_reset(9)xas_retry(9)xas_reload(9)xas_set(9)xas_advance(9)xas_set_order(9)xas_set_update(9)xas_next_entry(9)xas_next_marked(9)xas_for_each(9)xas_for_each_marked(9)xas_for_each_conflict(9)xas_prev(9)xas_next(9)
that's the page bestie, go tag some pointers responsibly π
./include/linux Β· October 2026 Β· xa_tag_pointer(9) β mwah, read u next time π§ββοΈπ
π¦ 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