lockdep_ass...d_lock_sched(9)
okay so bestie, buckle up: this is lockdep_ass...d_lock_sched(9) from the Kernel API Manual, and itβs giving βtiny helper, very serious lock-check energy.β π«Ά
π NAME π
lockdep_assert_in_rcu_read_lock_sched β WARN if not protected by rcu_read_lock_sched(). Thatβs the whole vibe: itβs the lockdep check that side-eyes your code when the right RCU read lock isnβt held. π
β¨ SYNOPSIS β¨
lockdep_assert_in_rcu_read_lock_sched
no args, no drama, just the function name. π
π DESCRIPTION π
Splats if lockdep is enabled and there is no rcu_read_lock_sched in effect. Thatβs it. Thatβs the tweet. π
Important caveat, bestie: preempt_disable and friends do not suffice here. Nope, not even close. Instead, an actual rcu_read_lock_sched is required. So donβt try to fake it with the preempt crew β lockdep wants the real thing. π
π SEE ALSO π
Kernel file ./include/linux/rcupdate.h β and the whole RCU friend group is here too. iykyk:
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(9)lockdep_assert_in_rcu_read_lock_bh(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)
xoxo, your kernel bestie π
β source/version: ./include/linux, date: October 2026. Periodt. β¨
π¦ 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