Hi,
according to the documentation, [rcu_dereference_protected( ptr, condition )] is the
"update-side primitive" that reads the ptr, "allowing the code to verify that the
required locks really are held".
Given that, I expect that literal `1' as `condition' would imply just "reading the
ptr".
Indeed, the macro expansion of
= rcu_dereference_protected( ptr, 1 )
is roughly equals to just
= ({ (typeof(*ptr) *)ptr; })
i.e. simple
= ptr
that agrees with my expectation. So, coding [rcu_dereference_protected( ..., 1
)] looks like a waste of key presses.
However, expression [rcu_dereference_protected( ..., 1 )] routinely appears in
the kernel sources, many times.
Why? Did I miss something?
Regards, Konstantin.
_______________________________________________
Kernelnewbies mailing list
[email protected]
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies