usage of rcu_dereference_raw

From: Pranith Kumar
Date: Mon Apr 21 2014 - 17:37:45 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/