Dug deeper, got more answers, but also more questions: rcupdate.h is heavily conditional on PREEMPT causing __rcu_read_lock/unlock to be extern rather than inline.
However, this leaves the most fundamental question of all: why are some functions OK to call from non-GPL code but others not? should these functions be marked as OK to call?
Dug deeper, got more answers, but also more questions: rcupdate.h is heavily conditional on PREEMPT causing __rcu_read_ lock/unlock to be extern rather than inline.
However, this leaves the most fundamental question of all: why are some functions OK to call from non-GPL code but others not? should these functions be marked as OK to call?