lockdep_ass...cu_read_lock(9)
π lockdep_ass...cu_read_lock(9) π
ok so bestie, you've wandered into the Kernel API Manual and landed on lockdep_ass...cu_read_lock(9) β the truncated little icon whose full government name is way too long for one line. pull up a chair π
β¨ NAME β¨
lockdep_assert_in_rcu_read_lock β the vibe check that goes WARN if not protected by rcu_read_lock() π€
β¨ SYNOPSIS β¨
lockdep_assert_in_rcu_read_lock
that's it. no args, no flags, no drama. she's a bare, argument-free queen π
β¨ DESCRIPTION β¨
so here's the tea, bestie π΅ β she splats if lockdep is enabled and there's no rcu_read_lock in effect.
"splats" meaning: loud, unignorable, exactly-what-it-sounds-like. this is not a subtle hint, this is the kernel screaming at you in the group chat π
heads up: the splat only happens when lockdep is actually enabled β that's the condition, so don't act surprised when a non-lockdep build stays quiet. lockdep covered, rcu_read_lock in effect β that's the checklist, no cap β¨
β¨ SEE ALSO β¨
the whole RCU friend group showed up to the party and honestly? iconic. every single one, in the order they were invited π«Ά the kernel file is ./include/linux/rcupdate.h, and these are all (9) pages:
same_state_synchronize_rcu(9)cond_resched_tasks_rcu_qs(9)rcu_softirq_qs_periodic(9)RCU_LOCKDEP_WARN(9)lockdep_assert_in_rcu_read_lock_bh(9)lockdep_assert_in_rcu_read_lock_sched(9)lockdep_assert_in_rcu_reader(9)unrcu_pointer(9)RCU_INITIALIZER(9)rcu_assign_pointer(9)rcu_replace_pointer(9)rcu_access_pointer(9)rcu_dereference_check(9)rcu_dereference_bh_check(9)rcu_dereference_sched_check(9)rcu_dereference_all_check(9)rcu_dereference_protected(9)rcu_dereference(9)rcu_dereference_bh(9)rcu_dereference_sched(9)rcu_dereference_all(9)rcu_pointer_handoff(9)rcu_read_lock(9)rcu_read_unlock(9)rcu_read_lock_bh(9)rcu_read_unlock_bh(9)rcu_read_lock_sched(9)rcu_read_unlock_sched(9)RCU_INIT_POINTER(9)RCU_POINTER_INITIALIZER(9)kfree_rcu(9)kfree_rcu_mightsleep(9)kfree_rcu_nolock(9)rcu_head_init(9)rcu_head_after_call_rcu(9)
like, thirty-five relatives at one dinner table. and every single one made it onto the list β no cutting the cousins π
mwah, that's the whole page. short, sweet, and fully locked down π¦
this little moment came to you from ./include/linux, dated October 2026, and it's still filed under lockdep_ass...cu_read_lock(9) β truncated name and all. love that for her. bye bestie! πβ¨π
π¦ 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