so this list-traversal primitive may safely run concurrently with
the _rcu list-mutation primitives such as list_add_rcu()
as long as the traversal is guarded by rcu_read_lock().
Do it with reusing of list_for_each_entry_rcu macro which
does the same. On Linux it implements some additional
lockdep stuff which we skip.
Also move the macro to linux/rculist.h where it resides on Linux.