How does [=rcu_dereference_protected(ptr, 1)] differ from simple [=ptr]?