Messages in this thread | | | From | Pranith Kumar <> | Date | Mon, 21 Apr 2014 17:37:01 -0400 | Subject | usage of rcu_dereference_raw |
| |
Hi Paul,
I was trying to see the various uses of rcu_dereference_ functions to understand how they were being used. A doubt cropped up while doing this:
* rcu_dereference_raw(): the documentation explicitly mentions that this should be minimally used as this does no checking of read critical sections and does not implement barriers. But looking at the code, there are various places where this is being used and it is being used I think in a buggy way. For example, in drivers/net/wireless/iwlwifi/dvm/main.c, there is this:
kfree(rcu_dereference_raw(priv->noa_data));
I can't imagine a scenario in which this is valid. So my question is this: do most of the uses of rcu_dereference_raw() need to be changed to use other dereference functions or are there cases where its usage is valid?
Regards, -- Pranith
| |