hlist_move_list(9)
β¨ hlist_move_list(9) β¨
okay so this is a page from the Kernel API Manual (hlist_move_list(9)), and honestly? it's a little one but it does exactly what it says on the tin π
πΈ NAME πΈ
hlist_move_list β Move an hlist π
π¦ SYNOPSIS π¦
void hlist_move_list (struct hlist_head *old , struct hlist_head *new );
π ARGUMENTS π
oldβ thehlist_headfor the old list. this is the one you're moving from, bestie, it's the source πnewβ thehlist_headfor the new list. the destination, the glow-up location, the place it's going β¨
π DESCRIPTION π
so the whole vibe here is: move a list from one list head to another π₯ that's it, that's the function.
and then β and this is the iconic part β it fixes up the pprev reference of the first entry, if it exists π«Ά so like, if the list actually has a first entry, that entry's back-pointer gets corrected to point at the new head. no cap, that's the whole job.
not me being obsessed with a two-sentence description π but like, correctness is sexy, periodt.
π SEE ALSO π
Kernel file ./include/linux/list.h
the list_* fam (and friends) π
LIST_HEAD_INIT(9)LIST_HEAD(9)LIST_HEAD_GUARDED(9)INIT_LIST_HEAD(9)list_add(9)list_add_tail(9)list_add_tail_release(9)list_del(9)list_replace(9)list_replace_init(9)list_swap(9)list_del_init(9)list_move(9)list_move_tail(9)list_bulk_move_tail(9)list_is_first(9)list_is_last(9)list_is_head(9)list_empty(9)list_del_init_careful(9)list_empty_careful(9)list_rotate_left(9)list_rotate_to_front(9)list_is_singular(9)list_cut_position(9)list_cut_before(9)list_splice(9)list_splice_tail(9)list_splice_init(9)list_splice_tail_init(9)list_entry(9)list_first_entry(9)list_last_entry(9)list_first_entry_or_null(9)list_first_entry_or_null_acquire(9)list_last_entry_or_null(9)list_next_entry(9)list_next_entry_circular(9)list_prev_entry(9)list_prev_entry_circular(9)list_for_each(9)list_for_each_continue(9)list_for_each_prev(9)list_for_each_safe(9)list_for_each_prev_safe(9)list_count_nodes(9)list_entry_is_head(9)list_for_each_entry(9)list_for_each_entry_reverse(9)list_prepare_entry(9)list_for_each_entry_continue(9)list_for_each_entry_continue_reverse(9)list_for_each_entry_from(9)list_for_each_entry_from_reverse(9)list_for_each_entry_safe(9)list_for_each_entry_safe_continue(9)list_for_each_entry_safe_from(9)list_for_each_entry_safe_reverse(9)list_safe_reset_next(9)
the hlist_* girlies (our actual neighbors) π
hlist_unhashed(9)hlist_unhashed_lockless(9)hlist_empty(9)hlist_del(9)hlist_del_init(9)hlist_add_head(9)hlist_add_before(9)hlist_add_behind(9)hlist_add_fake(9)hlist_fake(9)hlist_is_singular_node(9)hlist_splice_init(9)hlist_for_each_entry(9)hlist_for_each_entry_continue(9)hlist_for_each_entry_from(9)hlist_for_each_entry_safe(9)hlist_count_nodes(9)
that's the whole page, bestie, go read the source if you want the deep lore π§π
ngl this one's short and sweet β no warnings, no bugs section, no exit statuses. just vibes and a pointer fixup π
mwah π this page lives in ./include/linux, dated October 2026, and it's hlist_move_list(9) signing off β stay slay, keep your pprev valid, and i'll see you in the next manpage π
π¦ 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